Mercurial > libdvdnav.hg
annotate dvdnav_events.h @ 119:bd8601b74c3d src
this is causing more harm than good
libdvdread is now considered to be the only "official reference" concerning headers
for DVD structures and we should always use them. Problems only arise, if
applications do not (this lately was a problem in xine).
author | mroi |
---|---|
date | Sat, 08 Mar 2003 14:04:20 +0000 |
parents | 48ba92648842 |
children | d9d75a22a061 |
rev | line source |
---|---|
0 | 1 /* |
2 * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net> | |
3 * | |
4 * This file is part of libdvdnav, a DVD navigation library. | |
5 * | |
6 * libdvdnav is free software; you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * libdvdnav is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA | |
19 * | |
20 * $Id$ | |
21 * | |
22 */ | |
23 | |
24 #ifndef DVDNAV_EVENTS_H_INCLUDED | |
25 #define DVDNAV_EVENTS_H_INCLUDED | |
26 | |
27 #include <dvdread/ifo_types.h> | |
28 #include <dvdread/dvd_reader.h> | |
119 | 29 #include <dvdread/nav_types.h> |
0 | 30 |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
31 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
32 * \file dvdnav_events.h |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
33 * This header defines events and event types |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
34 */ |
0 | 35 |
36 /*** EVENTS ***/ | |
37 | |
114 | 38 #define DVDNAV_BLOCK_OK 0 /*!< The next block was returned */ |
39 #define DVDNAV_NOP 1 /*!< No action should be taken */ | |
40 #define DVDNAV_STILL_FRAME 2 /*!< The preceeding block was the last in a still frame */ | |
41 #define DVDNAV_SPU_STREAM_CHANGE 3 /*!< The SPU stream was changed */ | |
42 #define DVDNAV_AUDIO_STREAM_CHANGE 4 /*!< The Audio stream was changed */ | |
43 #define DVDNAV_VTS_CHANGE 5 /*!< We have changed VTS */ | |
44 #define DVDNAV_CELL_CHANGE 6 /*!< We have jumped to a new cell */ | |
45 #define DVDNAV_NAV_PACKET 7 /*!< The packet just passed was a NAV packet */ | |
46 #define DVDNAV_STOP 8 /*!< The last block was final, no more are coming */ | |
47 #define DVDNAV_HIGHLIGHT 9 /*!< Change highlight region */ | |
48 #define DVDNAV_SPU_CLUT_CHANGE 10 /*!< SPU CLUT changed */ | |
49 #define DVDNAV_HOP_CHANNEL 12 /*!< Sent when non-seemless stream change has happed */ | |
116 | 50 #define DVDNAV_WAIT 13 /*!< The application should wait for its fifos to run dry */ |
114 | 51 |
0 | 52 |
53 /*** EVENT TYPES ***/ | |
54 | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
55 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
56 * Structure providing information on DVDNAV_STILL_FRAME events. |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
57 */ |
0 | 58 typedef struct { |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
59 int length; /*!< |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
60 The length (in seconds) the still frame |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
61 should be displayed for, or 0xff if |
114 | 62 indefinite. */ |
0 | 63 } dvdnav_still_event_t; |
64 | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
65 /** |
55
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
66 * Structure providing information on DVDNAV_SPU_STREAM_CHANGE events. |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
67 */ |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
68 typedef struct { |
114 | 69 int physical_wide; /*!< The physical (MPEG) stream number for widescreen display. */ |
55
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
70 int physical_letterbox; /*!< The physical (MPEG) stream number for letterboxed display. */ |
114 | 71 int physical_pan_scan; /*!< The physical (MPEG) stream number for pan&scan display. */ |
72 int logical; /*!< The logical (DVD) stream number. */ | |
55
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
73 } dvdnav_spu_stream_change_event_t; |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
74 |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
75 /** |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
76 * Structure providing information on DVDNAV_AUDIO_STREAM_CHANGE events. |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
77 */ |
0 | 78 typedef struct { |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
79 int physical; /*!< The physical (MPEG) stream number. */ |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
80 int logical; /*!< The logical (DVD) stream number. */ |
55
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
81 } dvdnav_audio_stream_change_event_t; |
0 | 82 |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
83 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
84 * Structure providing information on DVDNAV_VTS_CHANGE events. |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
85 */ |
0 | 86 typedef struct { |
114 | 87 int old_vtsN; /*!< The old VTS number */ |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
88 dvd_read_domain_t old_domain; /*!< The old domain */ |
114 | 89 int new_vtsN; /*!< The new VTS number */ |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
90 dvd_read_domain_t new_domain; /*!< The new domain */ |
0 | 91 } dvdnav_vts_change_event_t; |
92 | |
114 | 93 /* FIXME: These are unused. */ |
94 #if 0 | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
95 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
96 * Structure providing information on DVDNAV_CELL_CHANGE events. |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
97 */ |
0 | 98 typedef struct { |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
99 cell_playback_t *old_cell; /*!< The old cell (or NULL if this is |
114 | 100 the first cell) */ |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
101 cell_playback_t *new_cell; /*!< The cell_playback_t for the new cell */ |
0 | 102 } dvdnav_cell_change_event_t; |
103 | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
104 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
105 * Structure providing information on DVDNAV_NAV_PACKET events. |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
106 */ |
0 | 107 typedef struct { |
108 pci_t *pci; | |
109 dsi_t *dsi; | |
110 } dvdnav_nav_packet_event_t; | |
114 | 111 #endif |
0 | 112 |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
113 /** |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
114 * Structure providing information on DVDNAV_HIGHLIGHT events. |
114 | 115 * The event only fills in display and buttonN. |
116 * The rest can be get with dvdnav_get_highlight_area(). | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
117 */ |
0 | 118 typedef struct { |
114 | 119 int display; /*!< 0 - hide, 1 - show, entries below only guaranteed useful |
120 if this is '1' */ | |
121 uint32_t palette; /*!< The CLUT entries for the highlight palette | |
122 (4-bits per entry -> 4 entries) */ | |
43
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
123 uint16_t sx,sy,ex,ey; /*!< The start/end x,y positions */ |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
124 uint32_t pts; /*!< Highlight PTS to match with SPU */ |
0ba15bf3dc25
Biiiiiiig change to let doxygen generate some docs for the library. Note that I'm in no way sure that the autoconf stuff plays nice.
richwareham
parents:
22
diff
changeset
|
125 uint32_t buttonN; /*!< Button number for the SPU decoder. */ |
0 | 126 } dvdnav_highlight_event_t; |
127 | |
128 #endif /* DVDNAV_EVENTS_H_INCLUDED */ |