summaryrefslogtreecommitdiffstats
path: root/apps/codecs/libm4a/m4a.h
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-01-31 21:54:50 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-01-31 21:54:50 +0000
commit411023c6be52e82a9c1e3c0b91cb772d44146569 (patch)
tree41ca277516a15197357803cbceb0ca92f057d588 /apps/codecs/libm4a/m4a.h
parent02dce4500dd8f60a0a911aacd367a1cff8e15da6 (diff)
downloadrockbox-411023c6be52e82a9c1e3c0b91cb772d44146569.tar.gz
rockbox-411023c6be52e82a9c1e3c0b91cb772d44146569.zip
Rework m4a seek/resume code. Seek/resume does now also work properly with files having sample_to_chunk of 1 or 2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29178 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libm4a/m4a.h')
-rw-r--r--apps/codecs/libm4a/m4a.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/apps/codecs/libm4a/m4a.h b/apps/codecs/libm4a/m4a.h
index 066f54b722..2b361e8784 100644
--- a/apps/codecs/libm4a/m4a.h
+++ b/apps/codecs/libm4a/m4a.h
@@ -45,6 +45,18 @@ typedef struct {
typedef uint32_t fourcc_t;
+typedef struct
+{
+ uint32_t first_chunk;
+ uint32_t num_samples;
+} sample_to_chunk_t;
+
+typedef struct
+{
+ uint32_t sample_count;
+ uint32_t sample_duration;
+} time_to_sample_t;
+
typedef struct
{
uint16_t num_channels;
@@ -53,19 +65,13 @@ typedef struct
fourcc_t format;
void *buf;
- struct {
- uint32_t first_chunk;
- uint32_t num_samples;
- } *sample_to_chunk;
+ sample_to_chunk_t *sample_to_chunk;
uint32_t num_sample_to_chunks;
uint32_t *chunk_offset;
uint32_t num_chunk_offsets;
- struct {
- uint32_t sample_count;
- uint32_t sample_duration;
- } *time_to_sample;
+ time_to_sample_t *time_to_sample;
uint32_t num_time_to_samples;
uint16_t *sample_byte_size;