[MPlayer-G2-dev] G2, DVDnav, etc.
Dmitry Baryshkov
lumag at qnc.ru
Sat May 24 23:22:54 CEST 2003
Hello!
Here are some of my thoughts about adding support for DVDnav into G2.
(As most ideas here, probably they will be changed mostly, etc.)
1. Unlike G1, stream+cache layer behaves like DVD (using stream_dvd),
and not like MPEG stream after libdvdnav.
2. Next part is a code, which emulates DVDnav VM, seeks to correct
places of DVD, etc. Of course it belongs somwhere between stream_dvd and
demux_mpeg. So here is first question: what is better: to break into
demux_mpeg, and add a lot of if(dvdnav){...}, or to create an especial
demuxer for DVDnav? Or maybe there are other solutions?
Anyway demuxer must be able to control, which of audio/subtitle streams
are decoded. Probably, his would require significant changes in libao2.
3. Still frames support. Sorry, dunno g2 arch well enough, to even
imagine, what changes are necessary here.
FIXME :)
4. Interaction with user.
Currently, IIUC, event hanling can be done only through libvo2. Suppose,
it's not the best way. It's more or less acceptable for vo's, like xv,
x11, etc. But for vo_vesa, and similars 'fake mouse' layer will be
usefull. Such OSD-rendered 'mouse' (read pointer) will be controled via
libinput. Moreover demuxer (at least its navigation part) also must be
user-controled! Also keep in mind, some more 'controllable' demuxers
(navigation in MOV's, NUT, and Matroska; maybe something else).
I don't see proposed way for such control.
5. Latest part is output. What is required here? libvo2 must support
image resizing/still frames. Resizing is supported (at least
theoretically - VOCTRL_RESIZE_*). libao2 (or maybe libao3) is mentioned
above. Maybe I'm missing something,but IIUC, libaf chains are build
independantly for each audio stream.
So many parts of G2 must be changed/discussed to ease adding support for
DVD (and maybe for Matroska/NUT/etc.) navigation. Good news are, that it
will be (I hope) easier, than for G1.
--
With best wishes
Dmitry.
More information about the MPlayer-G2-dev
mailing list