Mercurial > libdvdnav.hg
annotate dvdnav_events.h @ 139:f7a26cd00c93 src
* only install the headers that really are intended for public use
* dvdnav.h has to include the headers differently if an application is using it
author | mroi |
---|---|
date | Sat, 29 Mar 2003 14:16:28 +0000 |
parents | d9d75a22a061 |
children | 593b267a963a |
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 | |
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
|
93 /** |
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
|
94 * 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
|
95 */ |
0 | 96 typedef struct { |
134
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
97 int cellN; /*!< The new cell number */ |
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
98 int pgN; /*!< The current program number */ |
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
99 int64_t cell_length; /*!< The length of the current cell in PTS ticks */ |
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
100 int64_t pg_length; /*!< The length of the current program in PTS ticks */ |
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
101 int64_t pgc_length; /*!< The length of the current program chain in PTS ticks */ |
0 | 102 } dvdnav_cell_change_event_t; |
103 | |
134
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
104 /* FIXME: These are unused. */ |
d9d75a22a061
- new event on cell changes to report program and cell number and some time info
mroi
parents:
119
diff
changeset
|
105 #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
|
106 /** |
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
|
107 * 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
|
108 */ |
0 | 109 typedef struct { |
110 pci_t *pci; | |
111 dsi_t *dsi; | |
112 } dvdnav_nav_packet_event_t; | |
114 | 113 #endif |
0 | 114 |
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
|
115 /** |
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
|
116 * Structure providing information on DVDNAV_HIGHLIGHT events. |
114 | 117 * The event only fills in display and buttonN. |
118 * 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
|
119 */ |
0 | 120 typedef struct { |
114 | 121 int display; /*!< 0 - hide, 1 - show, entries below only guaranteed useful |
122 if this is '1' */ | |
123 uint32_t palette; /*!< The CLUT entries for the highlight palette | |
124 (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
|
125 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
|
126 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
|
127 uint32_t buttonN; /*!< Button number for the SPU decoder. */ |
0 | 128 } dvdnav_highlight_event_t; |
129 | |
130 #endif /* DVDNAV_EVENTS_H_INCLUDED */ |