summaryrefslogtreecommitdiff
path: root/apps/codecs/librm/rm.h
diff options
context:
space:
mode:
authorMohamed Tarek <mt@rockbox.org>2009-07-18 00:29:19 +0000
committerMohamed Tarek <mt@rockbox.org>2009-07-18 00:29:19 +0000
commit6f4294219e2ec8f0190a84020aa67dfe969ebb66 (patch)
treeedf778074a46caa7eaf27a36b0eb2b706855c967 /apps/codecs/librm/rm.h
parent6539b535ad08a13d654db3185d78a8f86a75f6a6 (diff)
Generic codec-extradata parsing, in preparation for addition of AAC/RM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21941 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/librm/rm.h')
-rw-r--r--apps/codecs/librm/rm.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/apps/codecs/librm/rm.h b/apps/codecs/librm/rm.h
index a0c386e824..ee72c1fc04 100644
--- a/apps/codecs/librm/rm.h
+++ b/apps/codecs/librm/rm.h
@@ -24,7 +24,9 @@
#include <stdio.h>
#include <inttypes.h>
-enum codecs{cook};
+#define MAX_EXTRADATA_SIZE 16
+
+enum codecs{cook, aac};
typedef struct rm_packet
{
uint8_t *frames[100]; /* Pointers to ordered audio frames in buffer */
@@ -62,20 +64,14 @@ typedef struct rm_context
uint16_t block_align;
uint32_t nb_packets;
int frame_number;
- uint32_t extradata_size;
uint16_t sample_rate;
uint16_t nb_channels;
uint32_t bit_rate;
uint16_t flags;
- /*cook extradata*/
- uint32_t cook_version;
- uint16_t samples_pf_pc; /* samples per frame per channel */
- uint16_t nb_subbands; /* number of subbands in the frequency domain */
- /* extra 8 bytes for joint-stereo data */
- uint32_t unused;
- uint16_t js_subband_start; /* joint stereo subband start */
- uint16_t js_vlc_bits;
+ /*codec extradata*/
+ uint32_t extradata_size;
+ uint8_t codec_extradata[MAX_EXTRADATA_SIZE];
} RMContext;