annotate src/alac/demux.h @ 85:86ce11c6b8c3 trunk

[svn] - Imported a few changes from alac decoder 0.1.3 - Added myself to AUTHORS
author js
date Wed, 04 Oct 2006 21:01:38 -0700
parents 722fd456ae1a
children 74df3bd6f472
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
56
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
1 #ifndef DEMUX_H
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
2 #define DEMUX_H
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
3
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
4 #include <stdint.h>
77
c2981235af26 [svn] - thread safety
nenolod
parents: 56
diff changeset
5 #include "decomp.h"
56
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
6 #include "stream.h"
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
7
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
8 typedef uint32_t fourcc_t;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
9
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
10 typedef struct
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
11 {
78
096db10ce25f [svn] - a few concurrency fixes
nenolod
parents: 77
diff changeset
12 stream_t *stream;
096db10ce25f [svn] - a few concurrency fixes
nenolod
parents: 77
diff changeset
13 alac_file *alac;
096db10ce25f [svn] - a few concurrency fixes
nenolod
parents: 77
diff changeset
14
85
86ce11c6b8c3 [svn] - Imported a few changes from alac decoder 0.1.3
js
parents: 79
diff changeset
15 int format_read;
86ce11c6b8c3 [svn] - Imported a few changes from alac decoder 0.1.3
js
parents: 79
diff changeset
16
56
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
17 uint16_t num_channels;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
18 uint16_t sample_size;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
19 uint32_t sample_rate;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
20 fourcc_t format;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
21 void *buf;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
22
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
23 struct {
79
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
24 char *art;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
25 char *nam;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
26 char *alb;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
27 char *day;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
28 char *cmt;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
29 char *des;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
30 char *gen;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
31 } tuple;
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
32
722fd456ae1a [svn] - parse metadata on ALAC files... seems to work, but the method is inefficient
nenolod
parents: 78
diff changeset
33 struct {
56
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
34 uint32_t sample_count;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
35 uint32_t sample_duration;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
36 } *time_to_sample;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
37 uint32_t num_time_to_samples;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
38
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
39 uint32_t *sample_byte_size;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
40 uint32_t num_sample_byte_sizes;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
41
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
42 uint32_t codecdata_len;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
43 void *codecdata;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
44
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
45 uint32_t mdat_len;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
46 #if 0
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
47 void *mdat;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
48 #endif
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
49 } demux_res_t;
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
50
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
51 int qtmovie_read(stream_t *stream, demux_res_t *demux_res);
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
52
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
53 #ifndef MAKEFOURCC
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
54 #define MAKEFOURCC(ch0, ch1, ch2, ch3) ( \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
55 ( (int32_t)(char)(ch0) << 24 ) | \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
56 ( (int32_t)(char)(ch1) << 16 ) | \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
57 ( (int32_t)(char)(ch2) << 8 ) | \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
58 ( (int32_t)(char)(ch3) ) )
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
59 #endif
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
60
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
61 #ifndef SLPITFOURCC
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
62 /* splits it into ch0, ch1, ch2, ch3 - use for printf's */
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
63 #define SPLITFOURCC(code) \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
64 (char)((int32_t)code >> 24), \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
65 (char)((int32_t)code >> 16), \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
66 (char)((int32_t)code >> 8), \
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
67 (char)code
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
68 #endif
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
69
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
70 #endif /* DEMUX_H */
56c88eee9802 [svn] - experimental ALAC plugin -- don't use this, it crashes
nenolod
parents:
diff changeset
71