[vlc-devel] Re: demuxer thoughts

John Michael Zorko j.zorko at att.net
Mon May 26 01:08:29 CEST 2003


>> What do you think about making the demux interface a little more
>> configurable i.e. instead of pf_demuxdrop (like I was thinking 
>> before),
>> what if we did something like pf_setdemuxoptions or something.  This
>> function pointer would be dereferenced and called by the input thread
>> (vlc_root/src/input/input.c) whenever it needs to tell the demux 
>> module
>> to act a little differently i.e. start or stop fast-forwarding /
>> rewinding, and this way the main input_thread_t thread can still call
>> pf_demux like it does now.  Each demux module would implement
>> SetDemuxOptions() in it's own way (if at all), and then I think we
>> remain open i.e. the input thread is still agnostic to the type of
>> media being handled, it just calls pf_setdemuxoptions when it needs 
>> to,
>> and pf_demux when it needs to, and that's it.
>  We are currently designing a new input for vlc, and all those will be
> supported at least by design, particulary frame by frame 
> playing/seeking.
> Sorry, but I've not yet written any english documentation.

This sounds very cool ...

>  Now, I'm starting implementing the core but It will ask some time 
> before
> it is in cvs, as a lot of thing need to be done or rewrite.

Thankfully, it appears as though what i'm doing doesn't really 
represent a massive rewrite at all -- the biggest part I think will be 
implementing the seeking, which -- at least in the case of the file 
module -- won't be difficult (I think I will be able to use the 
p_selected_area->f_tell member, so I don't think I need to add an off_t 
into data_packet_t).  The rest of the code is just infrastructure.  The 
cool thing about this is that it keeps all of the knowledge of state 
(when to add to the FIFO, when not to, when to seek backwards / 
forwards, when not to, all set via pf_setdemuxoptions) in the demux 
module, so the input thread doesn't have to know a thing about it 
(other than calling pf_setdemuxoptions when the behavior of the demuxer 
needs to be changed i.e. via input_SetStatus()).  Maybe i've not 
thought of everything, and I admit i'm still a newbie to VLC code, but 
this just seems so easy ...



Falling You - exploring the beauty of voice and sound
New EP, "hope thrown down," available now at

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list