Mercurial > libdvdnav.hg
annotate dvdnav_events.h @ 114:b6834e6359cf src
big libdvdnav cleanup, quoting the ChangeLog:
* some bugfixes
* code cleanup
* build process polishing
* more sensible event order in get_next_block to ensure useful event delivery
* VOBU level resume
* fixed: seeking in a multiangle feature briefly showed the wrong angle
author | mroi |
---|---|
date | Thu, 20 Feb 2003 15:32:21 +0000 |
parents | 5674fbd44f26 |
children | 4d711d0518e9 |
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 */ | |
50 | |
0 | 51 |
52 /*** EVENT TYPES ***/ | |
53 | |
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
|
54 /** |
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 * 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
|
56 */ |
0 | 57 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
|
58 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
|
59 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
|
60 should be displayed for, or 0xff if |
114 | 61 indefinite. */ |
0 | 62 } dvdnav_still_event_t; |
63 | |
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
|
64 /** |
55
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
65 * 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
|
66 */ |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
67 typedef struct { |
114 | 68 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
|
69 int physical_letterbox; /*!< The physical (MPEG) stream number for letterboxed display. */ |
114 | 70 int physical_pan_scan; /*!< The physical (MPEG) stream number for pan&scan display. */ |
71 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
|
72 } dvdnav_spu_stream_change_event_t; |
5674fbd44f26
report all spu types (widescreen, letterbox and pan&scan), not widescreen
mroi
parents:
43
diff
changeset
|
73 |
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 * 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
|
76 */ |
0 | 77 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
|
78 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
|
79 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
|
80 } dvdnav_audio_stream_change_event_t; |
0 | 81 |
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
|
82 /** |
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 * 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
|
84 */ |
0 | 85 typedef struct { |
114 | 86 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
|
87 dvd_read_domain_t old_domain; /*!< The old domain */ |
114 | 88 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
|
89 dvd_read_domain_t new_domain; /*!< The new domain */ |
0 | 90 } dvdnav_vts_change_event_t; |
91 | |
114 | 92 /* FIXME: These are unused. */ |
93 #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
|
94 /** |
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 * 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
|
96 */ |
0 | 97 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
|
98 cell_playback_t *old_cell; /*!< The old cell (or NULL if this is |
114 | 99 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
|
100 cell_playback_t *new_cell; /*!< The cell_playback_t for the new cell */ |
0 | 101 } dvdnav_cell_change_event_t; |
102 | |
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
|
103 /** |
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 * 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
|
105 */ |
0 | 106 typedef struct { |
107 pci_t *pci; | |
108 dsi_t *dsi; | |
109 } dvdnav_nav_packet_event_t; | |
114 | 110 #endif |
0 | 111 |
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
|
112 /** |
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 * Structure providing information on DVDNAV_HIGHLIGHT events. |
114 | 114 * The event only fills in display and buttonN. |
115 * 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
|
116 */ |
0 | 117 typedef struct { |
114 | 118 int display; /*!< 0 - hide, 1 - show, entries below only guaranteed useful |
119 if this is '1' */ | |
120 uint32_t palette; /*!< The CLUT entries for the highlight palette | |
121 (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
|
122 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
|
123 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
|
124 uint32_t buttonN; /*!< Button number for the SPU decoder. */ |
0 | 125 } dvdnav_highlight_event_t; |
126 | |
127 #endif /* DVDNAV_EVENTS_H_INCLUDED */ |