Mercurial > libdvdnav.hg
annotate dvdnav_events.h @ 116:4d711d0518e9 src
new event DVDNAV_WAIT
author | mroi |
---|---|
date | Tue, 25 Feb 2003 14:08:16 +0000 |
parents | b6834e6359cf |
children | 48ba92648842 |
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/nav_types.h> | |
29 #include <dvdread/dvd_reader.h> | |
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 */ |