Mercurial > mplayer.hg
annotate libdvdcss/css.h @ 33517:850a3272e10d
Change code to allow STREAM_CTRL_GET_CURRENT_TIME with cache enabled.
Due to that time being from what is currently read into the cache it
is unfortunately somewhat inaccurate and unsmooth, however for streams
that do have stream timestamps it is till a lot better than going by
the demuxer alone.
In particular it fixes bug #1081, when starting a DVD with -chapter
following seeks would be relative to the start of the DVD instead
of the current position.
author | reimar |
---|---|
date | Sun, 12 Jun 2011 11:26:22 +0000 |
parents | cda66f57f7a5 |
children | 691431d2289e |
rev | line source |
---|---|
20613 | 1 /***************************************************************************** |
2 * css.h: Structures for DVD authentication and unscrambling | |
3 ***************************************************************************** | |
4 * Copyright (C) 1999-2001 VideoLAN | |
5 * $Id$ | |
6 * | |
27442 | 7 * Author: Stéphane Borel <stef@via.ecp.fr> |
20613 | 8 * |
9 * based on: | |
10 * - css-auth by Derek Fawcus <derek@spider.com> | |
11 * - DVD CSS ioctls example program by Andrew T. Veliath <andrewtv@usa.net> | |
12 * - DeCSSPlus by Ethan Hawke | |
13 * - The Divide and conquer attack by Frank A. Stevenson <frank@funcom.com> | |
14 * | |
15 * This program is free software; you can redistribute it and/or modify | |
16 * it under the terms of the GNU General Public License as published by | |
17 * the Free Software Foundation; either version 2 of the License, or | |
18 * (at your option) any later version. | |
19 * | |
20 * This program is distributed in the hope that it will be useful, | |
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
23 * GNU General Public License for more details. | |
24 * | |
31098
9e9595c779cf
libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents:
27442
diff
changeset
|
25 * You should have received a copy of the GNU General Public License along |
9e9595c779cf
libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents:
27442
diff
changeset
|
26 * with libdvdcss; if not, write to the Free Software Foundation, Inc., |
9e9595c779cf
libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents:
27442
diff
changeset
|
27 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
20613 | 28 *****************************************************************************/ |
32265
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
29 |
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
30 #ifndef DVDCSS_CSS_H |
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
31 #define DVDCSS_CSS_H |
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
32 |
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
33 #include "dvdcss/dvdcss.h" |
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
34 |
20613 | 35 #define KEY_SIZE 5 |
36 | |
37 typedef uint8_t dvd_key_t[KEY_SIZE]; | |
38 | |
39 typedef struct dvd_title_s | |
40 { | |
41 int i_startlb; | |
42 dvd_key_t p_key; | |
43 struct dvd_title_s *p_next; | |
44 } dvd_title_t; | |
45 | |
46 typedef struct css_s | |
47 { | |
48 int i_agid; /* Current Authenication Grant ID. */ | |
49 dvd_key_t p_bus_key; /* Current session key. */ | |
50 dvd_key_t p_disc_key; /* This DVD disc's key. */ | |
51 dvd_key_t p_title_key; /* Current title key. */ | |
52 } css_t; | |
53 | |
54 /***************************************************************************** | |
55 * Prototypes in css.c | |
56 *****************************************************************************/ | |
31806 | 57 void _dvdcss_test ( dvdcss_t ); |
20613 | 58 int _dvdcss_title ( dvdcss_t, int ); |
59 int _dvdcss_disckey ( dvdcss_t ); | |
60 int _dvdcss_titlekey ( dvdcss_t, int , dvd_key_t ); | |
61 int _dvdcss_unscramble ( uint8_t *, uint8_t * ); | |
62 | |
32265
cda66f57f7a5
Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents:
31806
diff
changeset
|
63 #endif /* DVDCSS_CSS_H */ |