annotate dvdread/dvd_udf.h @ 249:5d643668f1e3 src

I added this code myself a long time ago, but now I am quite convinced that it is wrong: Why would we filter out SPU stream change events that switch SPUs off? This breaks watching the trailer on the RC2 of "Girl, interrupted", because you always get unwanted subtitles. When I added this code, it fixed a problem with the RC2 of "Terminator", but I cannot reproduce this problem any more. Back then, the menu highlights would not show up, but they do now. I assume the problem really got fixed with proper support for forced subtitles in xine, so this crappy workaround here can go away. After all, this way it is more symmetric to audio stream change events, because these are not filtered.
author mroi
date Sun, 12 Sep 2004 15:12:43 +0000
parents 9b1b740e3fc9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
225
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
1 #ifndef DVD_UDF_H_INCLUDED
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
2 #define DVD_UDF_H_INCLUDED
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
3
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
4 /*
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
5 * This code is based on dvdudf by:
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
6 * Christian Wolff <scarabaeus@convergence.de>.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
7 *
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
8 * Modifications by:
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
9 * Billy Biggs <vektor@dumbterm.net>.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
10 * Björn Englund <d4bjorn@dtek.chalmers.se>.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
11 *
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
12 * dvdudf: parse and read the UDF volume information of a DVD Video
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
13 * Copyright (C) 1999 Christian Wolff for convergence integrated media
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
14 * GmbH The author can be reached at scarabaeus@convergence.de, the
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
15 * project's page is at http://linuxtv.org/dvd/
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
16 *
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
17 * This program is free software; you can redistribute it and/or modify
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
18 * it under the terms of the GNU General Public License as published by
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
19 * the Free Software Foundation; either version 2 of the License, or (at
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
20 * your option) any later version.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
21 *
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
22 * This program is distributed in the hope that it will be useful, but
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
23 * WITHOUT ANY WARRANTY; without even the implied warranty of
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
25 * General Public License for more details.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
26 *
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
27 * You should have received a copy of the GNU General Public License
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
28 * along with this program; if not, write to the Free Software
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
29 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
30 * 02111-1307, USA. Or, point your browser to
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
31 * http://www.gnu.org/copyleft/gpl.html
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
32 */
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
33
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
34 #include <inttypes.h>
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
35
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
36 #include "dvd_reader.h"
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
37
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
38 #ifdef __cplusplus
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
39 extern "C" {
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
40 #endif
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
41
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
42 /**
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
43 * Looks for a file on the UDF disc/imagefile and returns the block number
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
44 * where it begins, or 0 if it is not found. The filename should be an
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
45 * absolute pathname on the UDF filesystem, starting with '/'. For example,
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
46 * '/VIDEO_TS/VTS_01_1.IFO'. On success, filesize will be set to the size of
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
47 * the file in bytes.
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
48 */
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
49 uint32_t UDFFindFile( dvd_reader_t *device, char *filename, uint32_t *size );
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
50
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
51 void FreeUDFCache(void *cache);
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
52 int UDFGetVolumeIdentifier(dvd_reader_t *device,
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
53 char *volid, unsigned int volid_size);
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
54 int UDFGetVolumeSetIdentifier(dvd_reader_t *device,
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
55 uint8_t *volsetid, unsigned int volsetid_size);
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
56 void *GetUDFCacheHandle(dvd_reader_t *device);
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
57 void SetUDFCacheHandle(dvd_reader_t *device, void *cache);
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
58
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
59 #ifdef __cplusplus
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
60 };
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
61 #endif
9b1b740e3fc9 big build system changes
mroi
parents:
diff changeset
62 #endif /* DVD_UDF_H_INCLUDED */