Merge remote-tracking branch 'origin/0.10'
[platform/upstream/gstreamer.git] / docs / random / wtay / DVDplayer
1 A DVDplayer
2 -----------
3
4 1) set up a pipeline
5
6  <draw pipeline schematics here>
7
8 2) set to playing
9
10  - dvdnav reads the ifo file. A set of events are generated to configure
11    various elements in the pipeline. These would include:
12      - SPU colors
13      - whatmore..
14
15  - first the src will read the DVD menu. this will contain mpeg2 data
16    and spu/nav info. after the menu is sent down the pipeline
17    the nav decoder waits for input somehow. The pipeline keeps on 
18    playing to animate the menus.
19
20  - somehow a button is pressed on the menu: a method is triggered in
21    the dvdnav plugin to tell it button X was pressed (event? app?).
22
23  - dvdnav reacts and starts to stream other data.
24
25  - nav packets in the stream indicate what can happen next.
26    - update the menu
27    - keep the menu
28    - hide the menu
29    - show the menu
30
31  - pressing the hotkey to bring up the menu triggers a method in dvdnav
32    which will send down nav info downstream to bring up the menu. 
33    A background picture (I frame) is sent downstream too.
34
35  - nav info can also happen while playing the movie. This can highlite 
36    some buttons the user can press.
37    
38  - selecting a button triggers some color/compositing changes in SPU/NAVdec
39    and an action on dvdnav.
40
41