tremor uses integer types
[mplayer/glamo.git] / libmpdemux / cdd.h
bloba30e21ffebd2a6976549739a6413397e298df26c
1 #ifndef __CDD_H__
2 #define __CDD_H__
4 #include <cdda_interface.h>
5 #include <cdda_paranoia.h>
7 typedef struct {
8 char cddb_hello[1024];
9 unsigned long disc_id;
10 unsigned int tracks;
11 char *cache_dir;
12 char *freedb_server;
13 int freedb_proto_level;
14 int anonymous;
15 char category[100];
16 char *xmcd_file;
17 size_t xmcd_file_size;
18 void *user_data;
19 } cddb_data_t;
21 typedef struct {
22 unsigned int min, sec, frame;
23 } cd_toc_t;
25 typedef struct cd_track {
26 char *name;
27 unsigned int track_nb;
28 unsigned int min;
29 unsigned int sec;
30 unsigned int msec;
31 unsigned long frame_begin;
32 unsigned long frame_length;
33 struct cd_track *prev;
34 struct cd_track *next;
35 } cd_track_t;
37 typedef struct {
38 char *artist;
39 char *album;
40 char *genre;
41 unsigned int nb_tracks;
42 unsigned int min;
43 unsigned int sec;
44 unsigned msec;
45 cd_track_t *first;
46 cd_track_t *last;
47 cd_track_t *current;
48 } cd_info_t;
50 typedef struct {
51 cdrom_drive* cd;
52 cdrom_paranoia* cdp;
53 int sector;
54 int start_sector;
55 int end_sector;
56 cd_info_t *cd_info;
57 } cdda_priv;
59 cd_info_t* cd_info_new();
60 void cd_info_free(cd_info_t *cd_info);
61 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);
62 cd_track_t* cd_info_get_track(cd_info_t *cd_info, unsigned int track_nb);
64 void cd_info_debug(cd_info_t *cd_info);
66 #endif // __CDD_H__