[MPlayer-G2-dev] Communication between layers?

Arpi arpi at thot.banki.hu
Sun Aug 3 19:56:05 CEST 2003


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


> 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

More information about the MPlayer-G2-dev mailing list