summaryrefslogtreecommitdiffstats
path: root/stream/cdd.h
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-31 17:39:17 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-31 17:39:17 +0000
commit49867bd432352d19172ab26cf873bd5651e69e25 (patch)
treec2d419bb4f81564036baa12832a44b8aac27c6d1 /stream/cdd.h
parentd3b998da64927403879ad588287c178f86b7c849 (diff)
downloadmpv-49867bd432352d19172ab26cf873bd5651e69e25.tar.bz2
mpv-49867bd432352d19172ab26cf873bd5651e69e25.tar.xz
introduce new 'stream' directory for all stream layer related components and split them from libmpdemux
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19277 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/cdd.h')
-rw-r--r--stream/cdd.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/stream/cdd.h b/stream/cdd.h
new file mode 100644
index 0000000000..ad8a7c150c
--- /dev/null
+++ b/stream/cdd.h
@@ -0,0 +1,77 @@
+#ifndef __CDD_H__
+#define __CDD_H__
+
+#include "config.h"
+#ifndef HAVE_LIBCDIO
+#include <cdda_interface.h>
+#include <cdda_paranoia.h>
+#else
+#include <cdio/cdda.h>
+#include <cdio/paranoia.h>
+#endif
+
+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 HAVE_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 // __CDD_H__