Re: framer API, demuxer chaining
Joey Parrish <[email protected]> Wed, 31 Dec 2003 10:06:52 -0600
| Newsgroups | gmane.comp.video.mplayer.g2.devel |
|---|---|
| Message-ID | <[email protected]> |
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