blob: 9d2ee4d9d02d38adbccadd75fb79bcc6775bda80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#ifndef MPLAYER_CDD_H
#define MPLAYER_CDD_H
#include "config.h"
#ifndef CONFIG_LIBCDIO
#include <cdda_interface.h>
#include <cdda_paranoia.h>
#else
#include <cdio/cdda.h>
#include <cdio/paranoia.h>
#endif
#include <sys/types.h>
typedef struct {
char cddb_hello[1024];
unsigned long disc_id;
unsigned int tracks;
char *cache_dir;
char *freedb_server;
int freedb_proto_level;
int anonymous;
char category[100];
char *xmcd_file;
size_t xmcd_file_size;
void *user_data;
} cddb_data_t;
typedef struct {
unsigned int min, sec, frame;
} cd_toc_t;
typedef struct cd_track {
char *name;
unsigned int track_nb;
unsigned int min;
unsigned int sec;
unsigned int msec;
unsigned long frame_begin;
unsigned long frame_length;
struct cd_track *prev;
struct cd_track *next;
} cd_track_t;
typedef struct {
char *artist;
char *album;
char *genre;
unsigned int nb_tracks;
unsigned int min;
unsigned int sec;
unsigned msec;
cd_track_t *first;
cd_track_t *last;
cd_track_t *current;
} cd_info_t;
typedef struct {
#ifndef CONFIG_LIBCDIO
cdrom_drive* cd;
cdrom_paranoia* cdp;
#else
cdrom_drive_t* cd;
cdrom_paranoia_t* cdp;
#endif
int sector;
int start_sector;
int end_sector;
cd_info_t *cd_info;
} cdda_priv;
cd_info_t* cd_info_new();
void cd_info_free(cd_info_t *cd_info);
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);
cd_track_t* cd_info_get_track(cd_info_t *cd_info, unsigned int track_nb);
void cd_info_debug(cd_info_t *cd_info);
#endif /* MPLAYER_CDD_H */
|