annotate dvdnav.h @ 21:d2d73f2ad8d3 src

Change/fix SPU active stream id. Same for audio. Few new functions, largely inspired from libogle ;-).
author f1rmb
date Mon, 22 Apr 2002 20:57:15 +0000
parents a68c6da98b73
children 3c1df0cb3aee
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 */
17
a68c6da98b73 Actually fix the const this time!
jcdutton
parents: 8
diff changeset
64 dvdnav_status_t dvdnav_open(dvdnav_t** dest, char *path);
0
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,
8
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
289 unsigned int *len);
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
290
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
291 /**
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
292 * Return the current position (in blocks) within the current
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
293 * title and the length (in blocks) of said title.
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
294 */
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
295 dvdnav_status_t dvdnav_get_position_in_title(dvdnav_t *self,
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
296 unsigned int* pos,
66708b4a1b5e Stop C++ bitching about some things and extend the menus example
richwareham
parents: 5
diff changeset
297 unsigned int *len);
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
298
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
299 /** Highlights **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
300
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
301 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
302 * Set the value pointed to to the currently highlighted button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
303 * number (1..36) or 0 if no button is highlighed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
304 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
305 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
306 * button -- Pointer to the value to fill in.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
307 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
308 dvdnav_status_t dvdnav_get_current_highlight(dvdnav_t *self, int* button);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
309
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
310 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
311 * Move button highlight around (e.g. with arrow keys)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
312 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
313 dvdnav_status_t dvdnav_upper_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
314 dvdnav_status_t dvdnav_lower_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
315 dvdnav_status_t dvdnav_right_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
316 dvdnav_status_t dvdnav_left_button_select(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
317
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
318 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
319 * Activate (press) highlighted button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
320 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
321 dvdnav_status_t dvdnav_button_activate(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
322
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
323 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
324 * Highlight a specific button button
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
325 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
326 * button -- 1..39.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
327 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
328 dvdnav_status_t dvdnav_button_select(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 * Activate (press) specified button.
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 * button: 1..36
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
335 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
336 dvdnav_status_t dvdnav_button_select_and_activate(dvdnav_t *self, int button);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
337
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
338 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
339 * Select button at specified (image) co-ordinates.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
340 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
341 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
342 * x,y: Image co-ordinates
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
343 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
344 dvdnav_status_t dvdnav_mouse_select(dvdnav_t *self, int x, int y);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
345
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
346 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
347 * Activate (press) button at specified co-ordinates.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
348 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
349 dvdnav_status_t dvdnav_mouse_activate(dvdnav_t *self, int x, int y);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
350
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
351 /** i18n **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
352
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
353 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
354 * Set specified menu language.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
355 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
356 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
357 * code: 1 char ISO 639 Language code
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
358 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
359 dvdnav_status_t dvdnav_menu_languge_select(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
360 char *code);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
361
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
362 /** SPU/Audio streams **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
363
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
364 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
365 * Set a specific PHYSICAL MPEG stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
366 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
367 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
368 * audio: 0..7
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
369 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
370 dvdnav_status_t dvdnav_physical_audio_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
371 int audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
372
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
373 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
374 * Set a specific logical audio stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
375 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
376 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
377 * audio: 0..7
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
378 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
379 dvdnav_status_t dvdnav_logical_audio_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
380 int audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
381
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
382 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
383 * Set the int pointed to to the current PHYSICAL audio
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
384 * stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
385 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
386 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
387 * audio: Pointer to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
388 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
389 dvdnav_status_t dvdnav_get_physical_audio_stream(dvdnav_t *self, int* audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
390
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
391 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
392 * Set the int pointed to to the current LOGICAL audio
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
393 * stream.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
394 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
395 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
396 * audio: Pointer to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
397 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
398 dvdnav_status_t dvdnav_get_logical_audio_stream(dvdnav_t *self, int* audio);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
399
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
400 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
401 * Set a specific PHYSICAL MPEG SPU stream and whether it should be
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
402 * displayed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
403 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
404 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
405 * stream: 0..31 or 63 (dummy)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
406 * display: 0..1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
407 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
408 dvdnav_status_t dvdnav_physical_spu_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
409 int stream, int display);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
410
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
411 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
412 * Set a specific LOGICAL SPU stream and whether it should be
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
413 * displayed.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
414 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
415 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
416 * stream: 0..31 or 63 (dummy)
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
417 * display: 0..1
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
418 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
419 dvdnav_status_t dvdnav_logical_spu_stream_change(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
420 int stream, int display);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
421
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
422 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
423 * Set the ints pointed to to the current PHYSICAL SPU
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
424 * stream & display flag.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
425 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
426 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
427 * stream, display: Pointers to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
428 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
429 dvdnav_status_t dvdnav_get_physical_spu_stream(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
430 int* stream, int* disply);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
431
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
432 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
433 * Set the ints pointed to to the current LOGICAL SPU
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
434 * stream & display flag.
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
435 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
436 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
437 * stream, display: Pointers to value
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
438 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
439 dvdnav_status_t dvdnav_get_logical_spu_stream(dvdnav_t *self,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
440 int* stream, int* disply);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
441
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
442 /** ANGLES **/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
443
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
444 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
445 * Sets the current angle
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
446 *
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
447 * Arguments:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
448 * angle: 1..9
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
449 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
450 dvdnav_status_t dvdnav_angle_change(dvdnav_t *self, int angle);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
451
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
452 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
453 * Returns the current angle and number of angles present
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
454 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
455 dvdnav_status_t dvdnav_get_angle_info(dvdnav_t *self, int* current_angle,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
456 int *number_of_angles);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
457
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
458 /**
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
459 * Converts a *logical* subpicture stream id into country code
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
460 * (returns 0xffff if no such stream).
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
461 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
462 uint16_t dvdnav_audio_stream_to_lang(dvdnav_t *self, uint8_t stream);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
463 uint16_t dvdnav_spu_stream_to_lang(dvdnav_t *self, uint8_t stream);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
464
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
465 /**
21
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
466 * Get substream id for logical stream *_num.
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
467 */
21
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
468 int8_t dvdnav_get_audio_logical_stream(dvdnav_t *self, uint8_t audio_num);
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
469 int8_t dvdnav_get_spu_logical_stream(dvdnav_t *self, uint8_t subp_num);
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
470
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
471 /**
21
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
472 * Get active spu stream.
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
473 */
21
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
474 int8_t dvdnav_get_active_spu_stream(dvdnav_t *self);
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
475
21
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
476 /**
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
477 * Get video aspect
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
478 */
d2d73f2ad8d3 Change/fix SPU active stream id. Same for audio. Few new functions, largely
f1rmb
parents: 17
diff changeset
479 uint8_t dvdnav_get_video_aspect(dvdnav_t *self);
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
480
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
481 /* Following functions returns:
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
482 * -1 on failure,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
483 * 1 if condition is true,
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
484 * 0 if condition is false
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
485 */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
486 /*** Current VM domain state ***/
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
487 /* First Play domain. (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
488 int8_t dvdnav_is_domain_fp(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
489 /* Video management Menu domain. (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
490 int8_t dvdnav_is_domain_vmgm(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
491 /* Video Title Menu domain (Menu) */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
492 int8_t dvdnav_is_domain_vtsm(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
493 /* Video Title domain (playing movie). */
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
494 int8_t dvdnav_is_domain_vts(dvdnav_t *self);
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
495
5
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
496 #ifdef __cplusplus
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
497 }
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
498 #endif
c1b55dc1bfed Add API call to get number of programmes in current title.
richwareham
parents: 4
diff changeset
499
0
3ddf0eaece51 Initial revision
richwareham
parents:
diff changeset
500 #endif /* DVDNAV_H_INCLUDED */