Mercurial > libdvdnav.hg
annotate dvdnav_events.h @ 27:fcfbaf8dbfb4 src
Insert some assert commands to hopefully catch a DVD which will give us information on what to do if these values are != 0.
author | jcdutton |
---|---|
date | Tue, 23 Apr 2002 13:18:31 +0000 |
parents | 3c1df0cb3aee |
children | 0ba15bf3dc25 |
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 | |
31 /* This header defines events and event types */ | |
32 | |
33 /*** EVENTS ***/ | |
34 | |
35 #define DVDNAV_BLOCK_OK 0 /* The next black was returned */ | |
36 #define DVDNAV_NOP 1 /* No action should be taken */ | |
37 #define DVDNAV_STILL_FRAME 2 /* The preceeding block was the last in a | |
38 still frame. */ | |
39 #define DVDNAV_SPU_STREAM_CHANGE 3 /* The SPU stream was changed */ | |
40 #define DVDNAV_AUDIO_STREAM_CHANGE 4 /* The Audio stream was changed */ | |
41 #define DVDNAV_VTS_CHANGE 5 /* We have changed VTS */ | |
42 #define DVDNAV_CELL_CHANGE 6 /* We have jumped to a new cell */ | |
43 #define DVDNAV_NAV_PACKET 7 /* The packet just passed was the NAV packet */ | |
44 #define DVDNAV_STOP 8 /* The last block was final, no more are coming */ | |
45 #define DVDNAV_HIGHLIGHT 9 /* Change highlight region */ | |
46 #define DVDNAV_SPU_CLUT_CHANGE 10 /* SPU CLUT */ | |
47 #define DVDNAV_SEEK_DONE 11 /* Seek done, subtitles should be reset */ | |
22
3c1df0cb3aee
Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents:
0
diff
changeset
|
48 #define DVDNAV_HOP_CHANNEL 12 /* Sent when non-seemless stream change has happed */ |
3c1df0cb3aee
Start of rewrite of libdvdnav. Still need to re-implement seeking.
jcdutton
parents:
0
diff
changeset
|
49 /* E.g. Menu button pressed causing change in menu */ |
0 | 50 |
51 /*** EVENT TYPES ***/ | |
52 | |
53 typedef struct { | |
54 int length; /* The length (in seconds) the still frame | |
55 * should be displayed for, or 0xff if | |
56 * indefinate. */ | |
57 } dvdnav_still_event_t; | |
58 | |
59 typedef struct { | |
60 int physical; /* The physical (MPEG) stream number. */ | |
61 int logical; /* The logical (DVD) stream number. */ | |
62 } dvdnav_stream_change_event_t; | |
63 | |
64 typedef struct { | |
65 int old_vtsN; /* The old VTS number */ | |
66 dvd_read_domain_t old_domain; /* The old domain */ | |
67 int new_vtsN; /* The new one */ | |
68 dvd_read_domain_t new_domain; | |
69 } dvdnav_vts_change_event_t; | |
70 | |
71 typedef struct { | |
72 cell_playback_t *old_cell; /* The old cell (or NULL if this is | |
73 the first cell) */ | |
74 cell_playback_t *new_cell; /* The cell_playback_t for the new cell */ | |
75 } dvdnav_cell_change_event_t; | |
76 | |
77 typedef struct { | |
78 pci_t *pci; | |
79 dsi_t *dsi; | |
80 } dvdnav_nav_packet_event_t; | |
81 | |
82 typedef struct { | |
83 int display; /* 0 - hide, 1 - show, entries below only guaranteed useful | |
84 if this is '1' */ | |
85 uint32_t palette; /* The CLUT entries for the highlight palette | |
86 (4-bits per entry -> 4 entries) */ | |
87 uint16_t sx,sy,ex,ey; /* The start/end x,y positions */ | |
88 uint32_t pts; /* Highlight PTS to match with SPU */ | |
89 uint32_t buttonN; /* Button number for the SPU decoder. */ | |
90 } dvdnav_highlight_event_t; | |
91 | |
92 #endif /* DVDNAV_EVENTS_H_INCLUDED */ |