[MPlayer-G2-dev] Communication between layers?
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
> 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