Re: Communication between layers?

Arpi <[email protected]>
Newsgroups gmane.comp.video.mplayer.g2.devel
Message-ID <[email protected]>
Hi,

> The question is: is there an api to permit 2-way communication between 
> layers (stream and demuxer in my case)?

control()

> An application (that I care for) is:
> 
> 1) the dvb input module opens the device and sets filters for pids 160 
> (V), 80 (A), eventually 500 (subs) and 0
>     (for PAT, that I'm working on)
> 2) the ts_demuxer queues the usual a/v/s content to the respective fifos 
> and parses the PAT to find the PMT(same as above) pids
> 3) at this point ts_demux needs more TS pids: the ones corresponding to 
> the PMTs found in the PAT, so it needs to ask the
>     dvb stream module to add more  pids to the stream. How to do it?
> 4) the dvb module tries to obey and needs to report the exit code to the 
> demuxer
> 5) ts_demux needs to parse the PMTs and can decide to add or remove 
> certain pids from the stream;
>     it can also tell the dvb module that there are more channels 
> available in the same frequency
>     or what's the map of the other frequencies found in the NIT (i'm 
> overly optimistic in this case).

I think by default you should filter only the PAT in stream layer.
The demuxer can parse it, and export the data in a form of playlist.
So the user can select the wanted program and re-open teh device, giving the
program id (or stream ids) as parameter in the URL.

The other way is calling demux->stream->control() from ts demuxer to
communicate with the stream layer, but i think it's not so clean.


A'rpi / Astral & ESP-team

--
Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.