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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
19 #ifndef MPLAYER_CDD_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
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
b4cbeff5153e Add a few missing header #includes and #defines.
diego
parents: 29263
diff changeset
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
19a6d39d5fdd Fix cd_info_new() prototype.
cehoyos
parents: 30426
diff changeset
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
60624e692b95 GCC warning fixes
bertrand
parents: 6695
diff changeset
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
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 23689
diff changeset
96 #endif /* MPLAYER_CDD_H */