Mercurial > mplayer.hg
annotate stream/cdd.h @ 30924:798e4a2b2571
100l, fix frametime calculation for MPEG-2 files with frame rate extension.
author | reimar |
---|---|
date | Sat, 27 Mar 2010 12:47:26 +0000 |
parents | 19a6d39d5fdd |
children | ca9623cfa117 |
rev | line source |
---|---|
30426
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
1 /* |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
2 * This file is part of MPlayer. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
3 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
7 * (at your option) any later version. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
8 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
12 * GNU General Public License for more details. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
13 * |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
17 */ |
ce0122361a39
Add license header to all files missing it in the stream subdirectory.
diego
parents:
30165
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_CDD_H |
20 #define MPLAYER_CDD_H | |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
21 |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
22 #include "config.h" |
27391
1d2faa1020fb
Rename a bunch of miscellaneous preprocessor directives.
diego
parents:
26029
diff
changeset
|
23 #ifndef CONFIG_LIBCDIO |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
24 #include <cdda_interface.h> |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
25 #include <cdda_paranoia.h> |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
26 #else |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
27 #include <cdio/cdda.h> |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
28 #include <cdio/paranoia.h> |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
29 #endif |
30165 | 30 #include <sys/types.h> |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
31 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
32 typedef struct { |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27391
diff
changeset
|
33 char cddb_hello[1024]; |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
34 unsigned long disc_id; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
35 unsigned int tracks; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
36 char *cache_dir; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
37 char *freedb_server; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
38 int freedb_proto_level; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
39 int anonymous; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
40 char category[100]; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
41 char *xmcd_file; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
42 size_t xmcd_file_size; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
43 void *user_data; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
44 } cddb_data_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
45 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
46 typedef struct { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
47 unsigned int min, sec, frame; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
48 } cd_toc_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
49 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
50 typedef struct cd_track { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
51 char *name; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
52 unsigned int track_nb; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
53 unsigned int min; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
54 unsigned int sec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
55 unsigned int msec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
56 unsigned long frame_begin; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
57 unsigned long frame_length; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
58 struct cd_track *prev; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
59 struct cd_track *next; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
60 } cd_track_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
61 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
62 typedef struct { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
63 char *artist; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
64 char *album; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
65 char *genre; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
66 unsigned int nb_tracks; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
67 unsigned int min; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
68 unsigned int sec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
69 unsigned msec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
70 cd_track_t *first; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
71 cd_track_t *last; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
72 cd_track_t *current; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
73 } cd_info_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
74 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
75 typedef struct { |
27391
1d2faa1020fb
Rename a bunch of miscellaneous preprocessor directives.
diego
parents:
26029
diff
changeset
|
76 #ifndef CONFIG_LIBCDIO |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
77 cdrom_drive* cd; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
78 cdrom_paranoia* cdp; |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
79 #else |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
80 cdrom_drive_t* cd; |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
81 cdrom_paranoia_t* cdp; |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
82 #endif |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
83 int sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
84 int start_sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
85 int end_sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
86 cd_info_t *cd_info; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
87 } cdda_priv; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
88 |
30733 | 89 cd_info_t* cd_info_new(void); |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
90 void cd_info_free(cd_info_t *cd_info); |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
91 cd_track_t* cd_info_add_track(cd_info_t *cd_info, char *track_name, unsigned int track_nb, unsigned int min, unsigned int sec, unsigned int msec, unsigned long frame_begin, unsigned long frame_length); |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
92 cd_track_t* cd_info_get_track(cd_info_t *cd_info, unsigned int track_nb); |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
93 |
7953 | 94 void cd_info_debug(cd_info_t *cd_info); |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
95 |
26029 | 96 #endif /* MPLAYER_CDD_H */ |