annotate dvdnav.h @ 6:5f319e02e333 src

Some cleaning up. changed exit(1) to assert(0) so they actually get seen by the user so that it helps developers more.
author jcdutton
date Sat, 06 Apr 2002 18:31:50 +0000
parents c1b55dc1bfed
children 66708b4a1b5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
1 /*
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
2 * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net>
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
3 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
4 * This file is part of libdvdnav, a DVD navigation library.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
5 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
6 * libdvdnav is free software; you can redistribute it and/or modify
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
9 * (at your option) any later version.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
10 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
11 * libdvdnav is distributed in the hope that it will be useful,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
14 * GNU General Public License for more details.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
15 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
19 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
20 * $Id$
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
21 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
22 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
23
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
24 #ifndef DVDNAV_H_INCLUDED
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
25 #define DVDNAV_H_INCLUDED
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
26
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
27 #ifdef __cplusplus
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
28 extern "C" {
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
29 #endif
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
30
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
31 /* Defines the various events and dvdnav_event_t */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
32 #include "dvdnav_events.h"
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
33
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
34 /* Various useful types */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
35 #include "dvd_types.h"
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
36
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
37 #include <dvdread/dvd_reader.h>
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
38
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
39 /* Opaque dvdnav data-type */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
40 typedef struct dvdnav_s dvdnav_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
41
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
42 /* Status */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
43 typedef int dvdnav_status_t;
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
44
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
45 #define DVDNAV_STATUS_ERR 0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
46 #define DVDNAV_STATUS_OK 1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
47
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
48 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
49 * NOTE: Unless otherwise stated, all functions return DVDNAV_STATUS_OK if
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
50 * they succeeded, otherwise DVDNAV_STATUS_ERR is returned and the error may
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
51 * be obtained by calling dvdnav_err_to_string().
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
52 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
53
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
54 /*** Initialisation & housekeeping functions ***/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
55
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
56 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
57 * Attempts to open the DVD drive at the specifiec path and pre-cache
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
58 * any CSS-keys that your hacked libdvdread may use.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
59 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
60 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
61 * dest -- Pointer to a dvdnav_t pointer to fill in.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
62 * path -- Any libdvdread acceptable path
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
63 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
64 dvdnav_status_t dvdnav_open(dvdnav_t** dest, char *path);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
65
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
66 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
67 * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
68 * memory associated with it.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
69 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
70 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
71 * self -- dvdnav_t to close.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
72 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
73 dvdnav_status_t dvdnav_close(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
74
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
75 /**
4
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
76 * Resets the VM and buffers in a previously opened dvdnav
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
77 *
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
78 * Arguments:
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
79 * self -- dvdnav_t to reset.
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
80 */
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
81 dvdnav_status_t dvdnav_reset(dvdnav_t *self);
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
82
99bed5d6db2f Added reset patch from Kees Cook <kees@outflux.net>
richwareham
parents: 0
diff changeset
83 /**
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
84 * Fills a pointer wiht a value pointing to a string describing
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
85 * the path associated with an open dvdnav_t. It assigns it NULL
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
86 * on error.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
87 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
88 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
89 * path -- Pointer to char* to fill in.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
90 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
91 dvdnav_status_t dvdnav_path(dvdnav_t *self, char** path);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
92
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
93 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
94 * Returns a human-readable string describing the last error.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
95 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
96 * Returns: A pointer to said string.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
97 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
98 char* dvdnav_err_to_string(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
99
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
100 /** DVD Player characteristics (FIXME: Need more entries) **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
101
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
102 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
103 * Returns the region mask (bit 0 - region 1, bit 1 - R 2, etc) of the
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
104 * VM
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
105 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
106 dvdnav_status_t dvdnav_get_region_mask(dvdnav_t *self, int *region);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
107
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
108 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
109 * Sets the region mask of the VM.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
110 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
111 * mask: 0x00..0xff
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
112 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
113 dvdnav_status_t dvdnav_set_region_mask(dvdnav_t *self, int mask);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
114
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
115 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
116 * Specify whether read-ahead caching should be used
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
117 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
118 * use_readahead: 0 - no, 1 - yes
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
119 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
120 dvdnav_status_t dvdnav_set_readahead_flag(dvdnav_t *self, int use_readahead);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
121
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
122 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
123 * Query state of readahead flag
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
124 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
125 * flag: pointer to int to recieve flag value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
126 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
127 dvdnav_status_t dvdnav_get_readahead_flag(dvdnav_t *self, int* flag);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
128
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
129 /** Getting data **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
130
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
131 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
132 * Gets the next block off the DVD places it in 'buf'. If there is any
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
133 * special information, the value pointed to by 'event' gets set
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
134 * accordingly.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
135 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
136 * If 'event' is DVDNAV_BLOCK_OK then 'buf' is filled with the next block
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
137 * (note that means it has to be at /least/ 2048 bytes big). 'len' is
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
138 * then set to 2048.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
139 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
140 * Otherwise, buf is filled with an appropriate event structure and
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
141 * len is set to the length of that structure,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
142 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
143 dvdnav_status_t dvdnav_get_next_block(dvdnav_t *self, unsigned char *buf,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
144 int *event, int *len);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
145
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
146 /** Navigation **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
147
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
148 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
149 * Returns the number of titles on the disk in titles.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
150 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
151 dvdnav_status_t dvdnav_get_number_of_titles(dvdnav_t *self, int *titles);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
152
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
153 /**
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
154 * Returns the number of programs within the current title in programs.
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
155 */
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
156 dvdnav_status_t dvdnav_get_number_of_programs(dvdnav_t *self, int *programs);
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
157
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
158 /**
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
159 * If we are currently in a still-frame, skip it.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
160 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
161 dvdnav_status_t dvdnav_still_skip(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
162
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
163 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
164 * Plays a specified title of the DVD
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
165 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
166 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
167 * title -- 1..99
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
168 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
169 dvdnav_status_t dvdnav_title_play(dvdnav_t *self, int title);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
170
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
171 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
172 * Plays the specifiec title, starting from the specified
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
173 * part (chapter)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
174 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
175 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
176 * title -- 1..99
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
177 * part -- 1..999
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
178 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
179 dvdnav_status_t dvdnav_part_play(dvdnav_t *self, int title, int part);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
180
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
181 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
182 * Play the specified amount of parts of the specified title of
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
183 * the DVD then STOP.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
184 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
185 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
186 * title -- 1..99
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
187 * part -- 1..999
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
188 * parts_to_play -- 1..999
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
189 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
190 dvdnav_status_t dvdnav_part_play_auto_stop(dvdnav_t *self, int title,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
191 int part, int parts_to_play);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
192
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
193 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
194 * Play the specified title starting from the specified time
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
195 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
196 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
197 * title -- 1..99
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
198 * time: (timecode) hours, minutes, seconds + frames.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
199 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
200 dvdnav_status_t dvdnav_time_play(dvdnav_t *self, int title,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
201 unsigned long int time);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
202
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
203 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
204 * Stops playing the current title (causes a STOP action in
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
205 * dvdnav_get_next_block).
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
206 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
207 dvdnav_status_t dvdnav_stop(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
208
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
209 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
210 * Stop playing current title and play the "GoUp"-program chain
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
211 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
212 dvdnav_status_t dvdnav_go_up(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
213
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
214 /** SEARCHING **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
215
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
216 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
217 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
218 * from the specified timecode.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
219 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
220 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
221 * time -- timecode.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
222 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
223 dvdnav_status_t dvdnav_time_search(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
224 unsigned long int time);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
225
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
226 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
227 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
228 * from the specified sector offset.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
229 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
230 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
231 * offset -- sector offset.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
232 * origin -- Start from here, start or end.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
233 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
234 dvdnav_status_t dvdnav_sector_search(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
235 unsigned long int offset, int origin);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
236
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
237 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
238 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
239 * from the specified part (chapter).
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
240 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
241 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
242 * part: 1..999
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
243 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
244 dvdnav_status_t dvdnav_part_search(dvdnav_t *self, int part);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
245
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
246 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
247 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
248 * from the previous program (if it exists)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
249 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
250 dvdnav_status_t dvdnav_prev_pg_search(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
251
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
252 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
253 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
254 * from the first program.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
255 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
256 dvdnav_status_t dvdnav_top_pg_search(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
257
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
258 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
259 * Stop playing the current title and start playback of the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
260 * from the next program (if it exists)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
261 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
262 dvdnav_status_t dvdnav_next_pg_search(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
263
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
264 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
265 * Stop playing the current title and jump to the specified menu.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
266 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
267 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
268 * menu -- Which menu to call
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
269 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
270 dvdnav_status_t dvdnav_menu_call(dvdnav_t *self, DVDMenuID_t menu);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
271
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
272 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
273 * Return the title number and chapter currently being played or
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
274 * -1 if in a menu.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
275 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
276 dvdnav_status_t dvdnav_current_title_info(dvdnav_t *self, int *title,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
277 int *part);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
278
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
279 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
280 * Return a string describing the title
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
281 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
282 dvdnav_status_t dvdnav_get_title_string(dvdnav_t *self, char **title_str);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
283
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
284 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
285 * Return the current position (in blocks) within the current
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
286 * part and the length (in blocks) of said part.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
287 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
288 dvdnav_status_t dvdnav_get_position(dvdnav_t *self, unsigned int* pos,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
289 unsigned int *len);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
290
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
291 /** Highlights **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
292
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
293 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
294 * Set the value pointed to to the currently highlighted button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
295 * number (1..36) or 0 if no button is highlighed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
296 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
297 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
298 * button -- Pointer to the value to fill in.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
299 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
300 dvdnav_status_t dvdnav_get_current_highlight(dvdnav_t *self, int* button);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
301
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
302 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
303 * Move button highlight around (e.g. with arrow keys)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
304 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
305 dvdnav_status_t dvdnav_upper_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
306 dvdnav_status_t dvdnav_lower_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
307 dvdnav_status_t dvdnav_right_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
308 dvdnav_status_t dvdnav_left_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
309
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
310 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
311 * Activate (press) highlighted button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
312 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
313 dvdnav_status_t dvdnav_button_activate(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
314
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
315 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
316 * Highlight a specific button button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
317 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
318 * button -- 1..39.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
319 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
320 dvdnav_status_t dvdnav_button_select(dvdnav_t *self, int button);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
321
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
322 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
323 * Activate (press) specified button.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
324 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
325 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
326 * button: 1..36
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
327 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
328 dvdnav_status_t dvdnav_button_select_and_activate(dvdnav_t *self, int button);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
329
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
330 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
331 * Select button at specified (image) co-ordinates.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
332 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
333 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
334 * x,y: Image co-ordinates
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
335 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
336 dvdnav_status_t dvdnav_mouse_select(dvdnav_t *self, int x, int y);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
337
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
338 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
339 * Activate (press) button at specified co-ordinates.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
340 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
341 dvdnav_status_t dvdnav_mouse_activate(dvdnav_t *self, int x, int y);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
342
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
343 /** i18n **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
344
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
345 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
346 * Set specified menu language.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
347 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
348 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
349 * code: 1 char ISO 639 Language code
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
350 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
351 dvdnav_status_t dvdnav_menu_languge_select(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
352 char *code);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
353
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
354 /** SPU/Audio streams **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
355
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
356 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
357 * Set a specific PHYSICAL MPEG stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
358 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
359 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
360 * audio: 0..7
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
361 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
362 dvdnav_status_t dvdnav_physical_audio_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
363 int audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
364
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
365 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
366 * Set a specific logical audio stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
367 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
368 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
369 * audio: 0..7
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
370 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
371 dvdnav_status_t dvdnav_logical_audio_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
372 int audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
373
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
374 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
375 * Set the int pointed to to the current PHYSICAL audio
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
376 * stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
377 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
378 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
379 * audio: Pointer to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
380 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
381 dvdnav_status_t dvdnav_get_physical_audio_stream(dvdnav_t *self, int* audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
382
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
383 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
384 * Set the int pointed to to the current LOGICAL audio
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
385 * stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
386 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
387 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
388 * audio: Pointer to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
389 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
390 dvdnav_status_t dvdnav_get_logical_audio_stream(dvdnav_t *self, int* audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
391
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
392 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
393 * Set a specific PHYSICAL MPEG SPU stream and whether it should be
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
394 * displayed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
395 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
396 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
397 * stream: 0..31 or 63 (dummy)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
398 * display: 0..1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
399 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
400 dvdnav_status_t dvdnav_physical_spu_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
401 int stream, int display);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
402
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
403 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
404 * Set a specific LOGICAL SPU stream and whether it should be
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
405 * displayed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
406 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
407 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
408 * stream: 0..31 or 63 (dummy)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
409 * display: 0..1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
410 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
411 dvdnav_status_t dvdnav_logical_spu_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
412 int stream, int display);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
413
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
414 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
415 * Set the ints pointed to to the current PHYSICAL SPU
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
416 * stream & display flag.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
417 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
418 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
419 * stream, display: Pointers to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
420 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
421 dvdnav_status_t dvdnav_get_physical_spu_stream(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
422 int* stream, int* disply);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
423
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
424 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
425 * Set the ints pointed to to the current LOGICAL SPU
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
426 * stream & display flag.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
427 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
428 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
429 * stream, display: Pointers to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
430 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
431 dvdnav_status_t dvdnav_get_logical_spu_stream(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
432 int* stream, int* disply);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
433
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
434 /** ANGLES **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
435
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
436 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
437 * Sets the current angle
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
438 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
439 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
440 * angle: 1..9
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
441 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
442 dvdnav_status_t dvdnav_angle_change(dvdnav_t *self, int angle);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
443
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
444 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
445 * Returns the current angle and number of angles present
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
446 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
447 dvdnav_status_t dvdnav_get_angle_info(dvdnav_t *self, int* current_angle,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
448 int *number_of_angles);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
449
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
450 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
451 * Converts a *logical* subpicture stream id into country code
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
452 * (returns 0xffff if no such stream).
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
453 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
454 uint16_t dvdnav_audio_stream_to_lang(dvdnav_t *self, uint8_t stream);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
455 uint16_t dvdnav_spu_stream_to_lang(dvdnav_t *self, uint8_t stream);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
456
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
457 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
458 * Converts a _logical_ audio/spu stream number (as in the SPRMs) to the physical
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
459 * stream number encoded on the DVD. Returns -1 if this audio/spu stream is not
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
460 * present.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
461 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
462 int8_t dvdnav_audio_logical_to_physical(dvdnav_t *self, uint8_t logical);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
463 int8_t dvdnav_spu_logical_to_physical(dvdnav_t *self, uint8_t logical);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
464
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
465 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
466 * The exact opposite of the above two calls
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
467 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
468 int8_t dvdnav_audio_physical_to_logical(dvdnav_t *self, uint8_t physical);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
469 int8_t dvdnav_spu_physical_to_logical(dvdnav_t *self, uint8_t physical);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
470
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
471
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
472 /* Following functions returns:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
473 * -1 on failure,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
474 * 1 if condition is true,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
475 * 0 if condition is false
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
476 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
477 /*** Current VM domain state ***/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
478 /* First Play domain. (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
479 int8_t dvdnav_is_domain_fp(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
480 /* Video management Menu domain. (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
481 int8_t dvdnav_is_domain_vmgm(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
482 /* Video Title Menu domain (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
483 int8_t dvdnav_is_domain_vtsm(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
484 /* Video Title domain (playing movie). */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
485 int8_t dvdnav_is_domain_vts(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
486
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
487 #ifdef __cplusplus
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
488 }
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
489 #endif
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
490
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
491 #endif /* DVDNAV_H_INCLUDED */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
492