[vlc-devel] Re: demuxer thoughts
John Michael Zorko
j.zorko at att.net
Mon May 26 01:08:29 CEST 2003
Fennir,
>> 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 ...
Regards,
John
Falling You - exploring the beauty of voice and sound
New EP, "hope thrown down," available now at
http://www.mp3.com/fallingyou
--
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