[MPlayer-G2-dev] framer API, demuxer chaining

Joey Parrish joey at nicewarrior.org
Wed Dec 31 17:06:52 CET 2003


On Wed, Dec 31, 2003 at 04:41:53PM +0100, Arpi wrote:
> In case of multi-layer muxed streams (like ogg-in-avi, rawdv-in-avi,
> mpegps-in-mov, mpegps-in-mpegts etc) the top level demuxer (in case
> of ogg-in-avi the avi demuxer) could export the 2nd level demuxed
> steram as a new stream, with type muxedstream, and set format to the
> 2ndlevel demuxer name (if known, anyway it should be known...).
> So, in case of ogg-in-avi, teh avi demuxer opens the stram, and
> exports stream#1=video(format=div3) and stream#2=muxed(format=ogg),
> the the caller of demux_open (the main app) will see that we have
> muxed substreams, and it can create new virtual stream (type=ds)
> from it and call demux_open again with this stream as input.
> This way we can avoid callong demux_open and such from demuxers,
> and still have the whole mess simple. Also, if user doesnt want the
> muxed stream (for example, -nosound for ogg-in-avi) we dont need
> to work with that stream.

So correct me if I'm wrong, but would something like this happen? :
UI says open this stream, then sees that it has one video stream and one
muxed stream.  How do we know if that muxed stream contains audio or
video without parsing it?  Imagine a UI that loads a file, then presents
a dialog to say "which streams should I show you?"  I would never create
such a things, but it's the sort of thing a UI might want to know for
other reasons I can't think of.  (Maybe intelligent auto-selection of
default streams to playback?)

So if this is correct and UI sees one video, one muxed, then should the
stream layer do the parsing of muxed stream automatically, or should the
UI request this muxed stream to be further demuxed before playback
begins?

Or do I just have a fundamental misunderstanding of the interface
between G2 UI and stream layer?  :)

--Joey

-- 
"I know Kung Fu." --Darth Vader




More information about the MPlayer-G2-dev mailing list