Mercurial > libdvdread4.hg
annotate dvdnav.h @ 0:427b7da5cbdb src
first split of dvdread; it's just a copy of dvdnav still to be cleaned
author | nicodvb |
---|---|
date | Sun, 01 Jun 2008 08:39:07 +0000 |
parents | |
children |
rev | line source |
---|---|
0
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
1 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
2 * Copyright (C) 2001 Rich Wareham <richwareham@users.sourceforge.net> |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
3 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
4 * This file is part of libdvdnav, a DVD navigation library. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
5 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
6 * libdvdnav is free software; you can redistribute it and/or modify |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
9 * (at your option) any later version. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
10 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
11 * libdvdnav is distributed in the hope that it will be useful, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
14 * GNU General Public License for more details. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
15 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
16 * You should have received a copy of the GNU General Public License |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
17 * along with this program; if not, write to the Free Software |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
19 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
20 * $Id$ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
21 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
22 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
23 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
24 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
25 * This is the main header file applications should include if they want |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
26 * to access dvdnav functionality. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
27 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
28 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
29 #ifndef DVDNAV_H_INCLUDED |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
30 #define DVDNAV_H_INCLUDED |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
31 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
32 #define MP_DVDNAV 1 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
33 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
34 #ifdef __cplusplus |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
35 extern "C" { |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
36 #endif |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
37 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
38 #ifndef DVDNAV_COMPILE |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
39 # include <dvdnav/dvd_types.h> |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
40 # include <libdvdread/dvd_reader.h> |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
41 # include <libdvdread/nav_types.h> |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
42 # include <libdvdread/ifo_types.h> /* For vm_cmd_t */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
43 # include <dvdnav/dvdnav_events.h> |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
44 #endif |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
45 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
46 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
47 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
48 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
49 * dvdnav data types * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
50 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
51 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
52 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
53 * Opaque data-type can be viewed as a 'DVD handle'. You should get |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
54 * a pointer to a dvdnav_t from the dvdnav_open() function. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
55 * Never call free() on the pointer, you have to give it back with |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
56 * dvdnav_close(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
57 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
58 typedef struct dvdnav_s dvdnav_t; |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
59 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
60 /* Status as reported by most of libdvdnav's functions */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
61 typedef int32_t dvdnav_status_t; |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
62 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
63 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
64 * Unless otherwise stated, all functions return DVDNAV_STATUS_OK if |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
65 * they succeeded, otherwise DVDNAV_STATUS_ERR is returned and the error may |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
66 * be obtained by calling dvdnav_err_to_string(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
67 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
68 #define DVDNAV_STATUS_ERR 0 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
69 #define DVDNAV_STATUS_OK 1 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
70 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
71 #define DVDNAV_FORMAT_AC3 0 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
72 #define DVDNAV_FORMAT_MPEGAUDIO 3 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
73 #define DVDNAV_FORMAT_LPCM 4 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
74 #define DVDNAV_FORMAT_DTS 5 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
75 #define DVDNAV_FORMAT_SDDS 6 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
76 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
77 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
78 * initialisation & housekeeping functions * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
79 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
80 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
81 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
82 * These functions allow you to open a DVD device and associate it |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
83 * with a dvdnav_t. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
84 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
85 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
86 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
87 * Attempts to open the DVD drive at the specified path and pre-cache |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
88 * the CSS-keys. libdvdread is used to access the DVD, so any source |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
89 * supported by libdvdread can be given with "path". Currently, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
90 * libdvdread can access: DVD drives, DVD image files, DVD file-by-file |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
91 * copies. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
92 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
93 * The resulting dvdnav_t handle will be written to *dest. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
94 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
95 dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
96 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
97 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
98 * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
99 * memory associated with it. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
100 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
101 dvdnav_status_t dvdnav_close(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
102 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
103 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
104 * Resets the DVD virtual machine and cache buffers. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
105 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
106 dvdnav_status_t dvdnav_reset(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
107 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
108 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
109 * Fills a pointer with a value pointing to a string describing |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
110 * the path associated with an open dvdnav_t. It assigns *path to NULL |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
111 * on error. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
112 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
113 dvdnav_status_t dvdnav_path(dvdnav_t *self, const char **path); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
114 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
115 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
116 * Returns a human-readable string describing the last error. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
117 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
118 const char* dvdnav_err_to_string(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
119 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
120 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
121 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
122 * changing and reading DVD player characteristics * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
123 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
124 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
125 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
126 * These functions allow you to manipulate the various global characteristics |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
127 * of the DVD playback engine. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
128 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
129 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
130 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
131 * Sets the region mask (bit 0 set implies region 1, bit 1 set implies |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
132 * region 2, etc) of the virtual machine. Generally you will only need to set |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
133 * this if you are playing RCE discs which query the virtual machine as to its |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
134 * region setting. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
135 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
136 * This has _nothing_ to do with the region setting of the DVD drive. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
137 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
138 dvdnav_status_t dvdnav_set_region_mask(dvdnav_t *self, int32_t region_mask); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
139 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
140 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
141 * Returns the region mask (bit 0 set implies region 1, bit 1 set implies |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
142 * region 2, etc) of the virtual machine. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
143 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
144 * This has _nothing_ to do with the region setting of the DVD drive. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
145 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
146 dvdnav_status_t dvdnav_get_region_mask(dvdnav_t *self, int32_t *region_mask); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
147 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
148 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
149 * Specify whether read-ahead caching should be used. You may not want this if your |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
150 * decoding engine does its own buffering. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
151 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
152 * The default read-ahead cache does not use an additional thread for the reading |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
153 * (see read_cache.c for a threaded cache, but note that this code is currently |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
154 * unmaintained). It prebuffers on VOBU level by reading ahead several buffers |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
155 * on every read request. The speed of this prebuffering has been optimized to |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
156 * also work on slow DVD drives. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
157 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
158 * If in addition you want to prevent memcpy's to improve performance, have a look |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
159 * at dvdnav_get_next_cache_block(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
160 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
161 dvdnav_status_t dvdnav_set_readahead_flag(dvdnav_t *self, int32_t read_ahead_flag); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
162 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
163 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
164 * Query whether read-ahead caching/buffering will be used. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
165 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
166 dvdnav_status_t dvdnav_get_readahead_flag(dvdnav_t *self, int32_t *read_ahead_flag); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
167 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
168 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
169 * Specify whether the positioning works PGC or PG based. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
170 * Programs (PGs) on DVDs are similar to Chapters and a program chain (PGC) |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
171 * usually covers a whole feature. This affects the behaviour of the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
172 * functions dvdnav_get_position() and dvdnav_sector_search(). See there. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
173 * Default is PG based positioning. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
174 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
175 dvdnav_status_t dvdnav_set_PGC_positioning_flag(dvdnav_t *self, int32_t pgc_based_flag); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
176 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
177 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
178 * Query whether positioning is PG or PGC based. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
179 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
180 dvdnav_status_t dvdnav_get_PGC_positioning_flag(dvdnav_t *self, int32_t *pgc_based_flag); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
181 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
182 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
183 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
184 * reading data * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
185 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
186 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
187 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
188 * These functions are used to poll the playback enginge and actually get data |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
189 * off the DVD. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
190 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
191 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
192 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
193 * Attempts to get the next block off the DVD and copies it into the buffer 'buf'. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
194 * If there is any special actions that may need to be performed, the value |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
195 * pointed to by 'event' gets set accordingly. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
196 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
197 * If 'event' is DVDNAV_BLOCK_OK then 'buf' is filled with the next block |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
198 * (note that means it has to be at /least/ 2048 bytes big). 'len' is |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
199 * then set to 2048. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
200 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
201 * Otherwise, buf is filled with an appropriate event structure and |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
202 * len is set to the length of that structure. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
203 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
204 * See the dvdnav_events.h header for information on the various events. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
205 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
206 dvdnav_status_t dvdnav_get_next_block(dvdnav_t *self, uint8_t *buf, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
207 int32_t *event, int32_t *len); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
208 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
209 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
210 * This basically does the same as dvdnav_get_next_block. The only difference is |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
211 * that it avoids a memcopy, when the requested block was found in the cache. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
212 * I such a case (cache hit) this function will return a different pointer than |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
213 * the one handed in, pointing directly into the relevant block in the cache. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
214 * Those pointers must _never_ be freed but instead returned to the library via |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
215 * dvdnav_free_cache_block(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
216 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
217 dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *self, uint8_t **buf, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
218 int32_t *event, int32_t *len); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
219 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
220 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
221 * All buffers which came from the internal cache (when dvdnav_get_next_cache_block() |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
222 * returned a buffer different from the one handed in) have to be freed with this |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
223 * function. Although handing in other buffers not from the cache doesn't cause any harm. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
224 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
225 dvdnav_status_t dvdnav_free_cache_block(dvdnav_t *self, unsigned char *buf); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
226 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
227 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
228 * If we are currently in a still-frame this function skips it. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
229 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
230 * See also the DVDNAV_STILL_FRAME event. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
231 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
232 dvdnav_status_t dvdnav_still_skip(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
233 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
234 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
235 * If we are currently in WAIT state, that is: the application is required to |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
236 * wait for its fifos to become empty, calling this signals libdvdnav that this |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
237 * is achieved and that it can continue. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
238 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
239 * See also the DVDNAV_WAIT event. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
240 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
241 dvdnav_status_t dvdnav_wait_skip(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
242 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
243 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
244 * Returns the still time from the currently playing cell. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
245 * The still time is given in seconds with 0xff meaning an indefinite still. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
246 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
247 * This function can be used to detect still frames before they are reached. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
248 * Some players might need this to prepare for a frame to be shown for a |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
249 * longer time than usual. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
250 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
251 uint32_t dvdnav_get_next_still_flag(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
252 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
253 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
254 * Stops playback. The next event obtained with one of the get_next_block |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
255 * functions will be a DVDNAV_STOP event. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
256 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
257 * It is not required to call this before dvdnav_close(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
258 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
259 dvdnav_status_t dvdnav_stop(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
260 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
261 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
262 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
263 * title/part navigation * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
264 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
265 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
266 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
267 * Returns the number of titles on the disk. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
268 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
269 dvdnav_status_t dvdnav_get_number_of_titles(dvdnav_t *self, int32_t *titles); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
270 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
271 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
272 * Returns the number of parts within the given title. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
273 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
274 dvdnav_status_t dvdnav_get_number_of_parts(dvdnav_t *self, int32_t title, int32_t *parts); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
275 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
276 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
277 * Plays the specified title of the DVD from its beginning (that is: part 1). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
278 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
279 dvdnav_status_t dvdnav_title_play(dvdnav_t *self, int32_t title); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
280 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
281 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
282 * Plays the specified title, starting from the specified part. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
283 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
284 dvdnav_status_t dvdnav_part_play(dvdnav_t *self, int32_t title, int32_t part); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
285 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
286 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
287 * Stores in *times an array (that the application *must* free) of |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
288 * dvdtimes corresponding to the chapter times for the chosen title. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
289 * *duration will have the duration of the title |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
290 * The number of entries in *times is the result of the function. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
291 * On error *times is NULL and the output is 0 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
292 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
293 uint32_t dvdnav_describe_title_chapters(dvdnav_t *this, int32_t title, uint64_t **times, uint64_t *duration); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
294 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
295 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
296 * Play the specified amount of parts of the specified title of |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
297 * the DVD then STOP. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
298 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
299 * Currently unimplemented! |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
300 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
301 dvdnav_status_t dvdnav_part_play_auto_stop(dvdnav_t *self, int32_t title, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
302 int32_t part, int32_t parts_to_play); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
303 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
304 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
305 * Play the specified title starting from the specified time. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
306 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
307 * Currently unimplemented! |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
308 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
309 dvdnav_status_t dvdnav_time_play(dvdnav_t *self, int32_t title, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
310 uint64_t time); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
311 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
312 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
313 * Stop playing the current position and jump to the specified menu. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
314 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
315 * See also DVDMenuID_t from libdvdread |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
316 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
317 dvdnav_status_t dvdnav_menu_call(dvdnav_t *self, DVDMenuID_t menu); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
318 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
319 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
320 * Return the title number and part currently being played. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
321 * A title of 0 indicates, we are in a menu. In this case, part |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
322 * is set to the current menu's ID. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
323 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
324 dvdnav_status_t dvdnav_current_title_info(dvdnav_t *self, int32_t *title, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
325 int32_t *part); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
326 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
327 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
328 * Return the current position (in blocks) within the current |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
329 * title and the length (in blocks) of said title. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
330 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
331 * Current implementation is wrong and likely to behave unpredictably! |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
332 * Use is discouraged! |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
333 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
334 dvdnav_status_t dvdnav_get_position_in_title(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
335 uint32_t *pos, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
336 uint32_t *len); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
337 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
338 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
339 * This function is only available for compatibility reasons. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
340 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
341 * Stop playing the current position and start playback of the current title |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
342 * from the specified part. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
343 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
344 dvdnav_status_t dvdnav_part_search(dvdnav_t *self, int32_t part); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
345 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
346 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
347 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
348 * program chain/program navigation * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
349 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
350 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
351 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
352 * Stop playing the current position and start playback from the last |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
353 * VOBU boundary before the given sector. The sector number is not |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
354 * meant to be an absolute physical DVD sector, but a relative sector |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
355 * in the current program. This function cannot leave the current |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
356 * program and will fail, if asked to do so. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
357 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
358 * If program chain based positioning is enabled |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
359 * (see dvdnav_set_PGC_positioning_flag()), this will seek to the relative |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
360 * sector inside the current program chain. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
361 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
362 * 'origin' can be one of SEEK_SET, SEEK_CUR, SEEK_END as defined in |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
363 * fcntl.h. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
364 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
365 dvdnav_status_t dvdnav_sector_search(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
366 uint64_t offset, int32_t origin); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
367 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
368 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
369 returns the current stream time in PTS ticks as reported by the IFO structures |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
370 divide it by 90000 to get the current play time in seconds |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
371 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
372 int64_t dvdnav_get_current_time(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
373 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
374 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
375 * Stop playing the current position and start playback of the title |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
376 * from the specified timecode. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
377 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
378 * Currently unimplemented! |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
379 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
380 dvdnav_status_t dvdnav_time_search(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
381 uint64_t time); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
382 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
383 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
384 * Stop playing current position and play the "GoUp"-program chain. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
385 * (which generally leads to the title menu or a higer-level menu). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
386 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
387 dvdnav_status_t dvdnav_go_up(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
388 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
389 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
390 * Stop playing the current position and start playback at the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
391 * previous program (if it exists). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
392 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
393 dvdnav_status_t dvdnav_prev_pg_search(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
394 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
395 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
396 * Stop playing the current position and start playback at the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
397 * first program. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
398 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
399 dvdnav_status_t dvdnav_top_pg_search(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
400 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
401 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
402 * Stop playing the current position and start playback at the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
403 * next program (if it exists). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
404 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
405 dvdnav_status_t dvdnav_next_pg_search(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
406 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
407 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
408 * Return the current position (in blocks) within the current |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
409 * program and the length (in blocks) of current program. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
410 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
411 * If program chain based positioning is enabled |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
412 * (see dvdnav_set_PGC_positioning_flag()), this will return the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
413 * relative position in and the length of the current program chain. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
414 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
415 dvdnav_status_t dvdnav_get_position(dvdnav_t *self, uint32_t *pos, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
416 uint32_t *len); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
417 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
418 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
419 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
420 * menu highlights * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
421 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
422 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
423 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
424 * Most functions related to highlights take a NAV PCI packet as a parameter. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
425 * While you can get the such a packet from libdvdnav, for players with internal |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
426 * FIFOs, this will result in errors, because due to the FIFO length, libdvdnav will |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
427 * be ahead in the stream compared to what the user is seeing on screen. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
428 * Therefore, player applications who have a NAV packet available, which is |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
429 * better in sync with the actual playback should always pass this one to these |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
430 * functions. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
431 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
432 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
433 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
434 * Get the currently highlighted button |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
435 * number (1..36) or 0 if no button is highlighted. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
436 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
437 dvdnav_status_t dvdnav_get_current_highlight(dvdnav_t *self, int32_t *button); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
438 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
439 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
440 * Returns the Presentation Control Information (PCI) structure associated |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
441 * with the current position. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
442 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
443 * Read the general notes above. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
444 * See also libdvdreads nav_types.h for definition of pci_t. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
445 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
446 pci_t* dvdnav_get_current_nav_pci(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
447 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
448 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
449 * Returns the DSI (data search information) structure associated |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
450 * with the current position. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
451 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
452 * Read the general notes above. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
453 * See also libdvdreads nav_types.h for definition of dsi_t. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
454 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
455 dsi_t* dvdnav_get_current_nav_dsi(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
456 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
457 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
458 * Get the area associated with a certain button. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
459 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
460 dvdnav_status_t dvdnav_get_highlight_area(pci_t *nav_pci , int32_t button, int32_t mode, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
461 dvdnav_highlight_area_t *highlight); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
462 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
463 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
464 * Move button highlight around as suggested by function name (e.g. with arrow keys). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
465 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
466 dvdnav_status_t dvdnav_upper_button_select(dvdnav_t *self, pci_t *pci); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
467 dvdnav_status_t dvdnav_lower_button_select(dvdnav_t *self, pci_t *pci); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
468 dvdnav_status_t dvdnav_right_button_select(dvdnav_t *self, pci_t *pci); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
469 dvdnav_status_t dvdnav_left_button_select(dvdnav_t *self, pci_t *pci); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
470 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
471 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
472 * Activate ("press") the currently highlighted button. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
473 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
474 dvdnav_status_t dvdnav_button_activate(dvdnav_t *self, pci_t *pci); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
475 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
476 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
477 * Highlight a specific button. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
478 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
479 dvdnav_status_t dvdnav_button_select(dvdnav_t *self, pci_t *pci, int32_t button); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
480 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
481 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
482 * Activate ("press") specified button. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
483 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
484 dvdnav_status_t dvdnav_button_select_and_activate(dvdnav_t *self, pci_t *pci, int32_t button); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
485 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
486 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
487 * Activate (press) a button and execute specified command. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
488 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
489 dvdnav_status_t dvdnav_button_activate_cmd(dvdnav_t *self, int32_t button, vm_cmd_t *cmd); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
490 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
491 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
492 * Select button at specified video frame coordinates. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
493 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
494 dvdnav_status_t dvdnav_mouse_select(dvdnav_t *self, pci_t *pci, int32_t x, int32_t y); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
495 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
496 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
497 * Activate ("press") button at specified video frame coordinates. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
498 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
499 dvdnav_status_t dvdnav_mouse_activate(dvdnav_t *self, pci_t *pci, int32_t x, int32_t y); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
500 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
501 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
502 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
503 * languages * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
504 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
505 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
506 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
507 * The language codes expected by these functions are two character |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
508 * codes as defined in ISO639. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
509 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
510 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
511 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
512 * Set which menu language we should use per default. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
513 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
514 dvdnav_status_t dvdnav_menu_language_select(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
515 char *code); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
516 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
517 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
518 * Set which audio language we should use per default. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
519 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
520 dvdnav_status_t dvdnav_audio_language_select(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
521 char *code); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
522 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
523 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
524 * Set which spu language we should use per default. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
525 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
526 dvdnav_status_t dvdnav_spu_language_select(dvdnav_t *self, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
527 char *code); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
528 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
529 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
530 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
531 * obtaining stream attributes * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
532 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
533 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
534 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
535 * Return a string describing the title of the DVD. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
536 * This is an ID string encoded on the disc by the author. In many cases |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
537 * this is a descriptive string such as `THE_MATRIX' but sometimes is sigularly |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
538 * uninformative such as `PDVD-011421'. Some DVD authors even forget to set this, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
539 * so you may also read the default of the authoring software they used, like |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
540 * `DVDVolume'. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
541 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
542 dvdnav_status_t dvdnav_get_title_string(dvdnav_t *self, const char **title_str); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
543 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
544 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
545 * Get video aspect code. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
546 * The aspect code does only change on VTS boundaries. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
547 * See the DVDNAV_VTS_CHANGE event. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
548 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
549 * 0 -- 4:3, 2 -- 16:9 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
550 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
551 uint8_t dvdnav_get_video_aspect(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
552 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
553 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
554 * Get video scaling permissions. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
555 * The scaling permission does only change on VTS boundaries. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
556 * See the DVDNAV_VTS_CHANGE event. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
557 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
558 * bit0 set = deny letterboxing, bit1 set = deny pan&scan |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
559 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
560 uint8_t dvdnav_get_video_scale_permission(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
561 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
562 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
563 * Converts a *logical* audio stream id into language code |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
564 * (returns 0xffff if no such stream). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
565 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
566 uint16_t dvdnav_audio_stream_to_lang(dvdnav_t *self, uint8_t stream); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
567 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
568 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
569 * Returns the format of *logical* audio stream 'stream' |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
570 * (returns 0xffff if no such stream). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
571 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
572 uint16_t dvdnav_audio_stream_format(dvdnav_t *self, uint8_t stream); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
573 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
574 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
575 * Returns number of channelsn in *logical* audio stream 'stream' |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
576 * (returns 0xffff if no such stream). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
577 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
578 uint16_t dvdnav_audio_stream_channels(dvdnav_t *self, uint8_t stream); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
579 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
580 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
581 * Converts a *logical* subpicture stream id into country code |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
582 * (returns 0xffff if no such stream). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
583 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
584 uint16_t dvdnav_spu_stream_to_lang(dvdnav_t *self, uint8_t stream); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
585 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
586 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
587 * Converts a *physical* (MPEG) audio stream id into a logical stream number. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
588 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
589 int8_t dvdnav_get_audio_logical_stream(dvdnav_t *self, uint8_t audio_num); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
590 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
591 #define HAVE_GET_AUDIO_ATTR |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
592 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
593 * Get audio attr |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
594 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
595 dvdnav_status_t dvdnav_get_audio_attr(dvdnav_t *self, uint8_t audio_mum, audio_attr_t *audio_attr); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
596 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
597 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
598 * Converts a *physical* (MPEG) subpicture stream id into a logical stream number. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
599 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
600 int8_t dvdnav_get_spu_logical_stream(dvdnav_t *self, uint8_t subp_num); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
601 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
602 #define HAVE_GET_SPU_ATTR |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
603 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
604 * Get spu attr |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
605 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
606 dvdnav_status_t dvdnav_get_spu_attr(dvdnav_t *self, uint8_t audio_mum, subp_attr_t *subp_attr); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
607 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
608 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
609 * Get active audio stream. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
610 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
611 int8_t dvdnav_get_active_audio_stream(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
612 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
613 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
614 * Get active spu stream. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
615 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
616 int8_t dvdnav_get_active_spu_stream(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
617 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
618 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
619 * Get the set of user operations that are currently prohibited. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
620 * There are potentially new restrictions right after |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
621 * DVDNAV_CHANNEL_HOP and DVDNAV_NAV_PACKET. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
622 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
623 user_ops_t dvdnav_get_restrictions(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
624 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
625 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
626 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
627 * multiple angles * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
628 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
629 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
630 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
631 * The libdvdnav library abstracts away the difference between seamless and |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
632 * non-seamless angles. From the point of view of the programmer you just set the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
633 * angle number and all is well in the world. You will always see only the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
634 * selected angle coming from the get_next_block functions. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
635 * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
636 * Note: |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
637 * It is quite possible that some tremendously strange DVD feature might change the |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
638 * angle number from under you. Generally you should always view the results from |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
639 * dvdnav_get_angle_info() as definitive only up to the next time you call |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
640 * dvdnav_get_next_block(). |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
641 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
642 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
643 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
644 * Sets the current angle. If you try to follow a non existant angle |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
645 * the call fails. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
646 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
647 dvdnav_status_t dvdnav_angle_change(dvdnav_t *self, int32_t angle); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
648 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
649 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
650 * Returns the current angle and number of angles present. |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
651 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
652 dvdnav_status_t dvdnav_get_angle_info(dvdnav_t *self, int32_t *current_angle, |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
653 int32_t *number_of_angles); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
654 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
655 /********************************************************************* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
656 * domain queries * |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
657 *********************************************************************/ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
658 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
659 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
660 * Are we in the First Play domain? |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
661 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
662 int8_t dvdnav_is_domain_fp(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
663 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
664 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
665 * Are we in the Video management Menu domain? |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
666 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
667 int8_t dvdnav_is_domain_vmgm(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
668 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
669 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
670 * Are we in the Video Title Menu domain? |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
671 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
672 int8_t dvdnav_is_domain_vtsm(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
673 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
674 /* |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
675 * Are we in the Video Title Set domain? |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
676 */ |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
677 int8_t dvdnav_is_domain_vts(dvdnav_t *self); |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
678 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
679 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
680 #ifdef __cplusplus |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
681 } |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
682 #endif |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
683 |
427b7da5cbdb
first split of dvdread; it's just a copy of dvdnav still to be cleaned
nicodvb
parents:
diff
changeset
|
684 #endif /* DVDNAV_H_INCLUDED */ |