From: Arpi <ar...@th...> - 2002-05-29 09:55:44
|
Hi, > > anyway, for quite some time now i'm wondering if there's a way to improve > > xine's demuxers. the point is that most demuxers have nearly the same > > code, so it'd be pretty nice if that common code could be moved into a > > seperate module (yeah, i know, i'm not exactly the one who's the first to hehe, did you read my 'life after the 0.90 release' mail at mplayer-dev-eng yesterday? i've described exactly the same for our demuxer :) so, maybe we could discuss this, and both projects coudl profit from the result. (in my dreams there is a common demuxer and codec api for linux and all players use it but it's a very impossible dream...) > I don't know if I follow this idea. Demuxers have a common > job: Break an input stream down into packets. But they all do it in > different ways. Just like all video decoders have all the same job: Take a > chunk of compressed data and decompress it to a video frame. But they all > get there in completely different ways. I have written 3 xine demuxers so hmm. i thought you understood what were you doing in the demuxer area :) imho: there are 2 kind of streams, so 2 kind of demuxers: 1. stream formats: you can read packets after eachother from the stream, and depending on few bits in packet you put it to audio or video (or other) buffers. mpeg, asf, vivo and avi are such formats. note: they _may_ have index table, but it is not mandatory. 2. indexed formats: you have to read the index table, and you can read packets of specific sub-stream using the offset/size data from index mov, realmedia are such. they must have index table. in my plans, i'll implement a dual core, one for type 1. and one for type 2. for type 1, the demuxer core should handle runtime index building (for fast and precise backward seeking) and controlling stream buffering. for type 2, the demuxers should pass the parsed index table to the demuxer core, and it will handle all the messy job. > What parts of the demuxer subsystem are common enough to combine? hard to believe you ever wrote any demuxer :) A'rpi / Astral & ESP-team -- Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu |