Mercurial > mplayer.hg
annotate libmpdemux/cdd.h @ 18505:01b9f29c2fb5
Fix some potential integer overflow in memory allocation (mot of these
were probably safe or disabled anyway)
author | rtognimp |
---|---|
date | Sun, 14 May 2006 15:51:05 +0000 |
parents | 60bd6aeed405 |
children |
rev | line source |
---|---|
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
1 #ifndef __CDD_H__ |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
2 #define __CDD_H__ |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
3 |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
4 #include "config.h" |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
5 #ifndef HAVE_LIBCDIO |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
6 #include <cdda_interface.h> |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
7 #include <cdda_paranoia.h> |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
8 #else |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
9 #include <cdio/cdda.h> |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
10 #include <cdio/paranoia.h> |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
11 #endif |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
12 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
13 typedef struct { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
14 char cddb_hello[1024]; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
15 unsigned long disc_id; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
16 unsigned int tracks; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
17 char *cache_dir; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
18 char *freedb_server; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
19 int freedb_proto_level; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
20 int anonymous; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
21 char category[100]; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
22 char *xmcd_file; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
23 size_t xmcd_file_size; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
24 void *user_data; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
25 } cddb_data_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
26 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
27 typedef struct { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
28 unsigned int min, sec, frame; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
29 } cd_toc_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
30 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
31 typedef struct cd_track { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
32 char *name; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
33 unsigned int track_nb; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
34 unsigned int min; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
35 unsigned int sec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
36 unsigned int msec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
37 unsigned long frame_begin; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
38 unsigned long frame_length; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
39 struct cd_track *prev; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
40 struct cd_track *next; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
41 } cd_track_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
42 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
43 typedef struct { |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
44 char *artist; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
45 char *album; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
46 char *genre; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
47 unsigned int nb_tracks; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
48 unsigned int min; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
49 unsigned int sec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
50 unsigned msec; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
51 cd_track_t *first; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
52 cd_track_t *last; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
53 cd_track_t *current; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
54 } cd_info_t; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
55 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
56 typedef struct { |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
57 #ifndef HAVE_LIBCDIO |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
58 cdrom_drive* cd; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
59 cdrom_paranoia* cdp; |
16935
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
60 #else |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
61 cdrom_drive_t* cd; |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
62 cdrom_paranoia_t* cdp; |
60bd6aeed405
make it optionally possible to compile MPlayer with libcdio instead of libcdparanoia
faust3
parents:
7953
diff
changeset
|
63 #endif |
6695
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
64 int sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
65 int start_sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
66 int end_sector; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
67 cd_info_t *cd_info; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
68 } cdda_priv; |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
69 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
70 cd_info_t* cd_info_new(); |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
71 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
|
72 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
|
73 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
|
74 |
7953 | 75 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
|
76 |
c2dbba99b31e
Created a new header file to store common struct & prototype for
bertrand
parents:
diff
changeset
|
77 #endif // __CDD_H__ |