diff options
Diffstat (limited to 'apps/metadata')
-rw-r--r-- | apps/metadata/rm.c | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/apps/metadata/rm.c b/apps/metadata/rm.c index 7866bb7c55..bfaa803be7 100644 --- a/apps/metadata/rm.c +++ b/apps/metadata/rm.c | |||
@@ -38,26 +38,14 @@ | |||
38 | #define DEBUGF(...) | 38 | #define DEBUGF(...) |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | static inline int read_cook_extradata(int fd, RMContext *rmctx) { | ||
42 | read_uint32be(fd, &rmctx->cook_version); | ||
43 | read_uint16be(fd, &rmctx->samples_pf_pc); | ||
44 | read_uint16be(fd, &rmctx->nb_subbands); | ||
45 | if(rmctx->extradata_size == 16) { | ||
46 | lseek(fd, sizeof(uint32_t), SEEK_CUR); /* reserved */ | ||
47 | read_uint16be(fd, &rmctx->js_subband_start); | ||
48 | read_uint16be(fd, &rmctx->js_vlc_bits); | ||
49 | } | ||
50 | return rmctx->extradata_size; /* for 'skipped' */ | ||
51 | } | ||
52 | |||
53 | static inline void print_cook_extradata(RMContext *rmctx) { | 41 | static inline void print_cook_extradata(RMContext *rmctx) { |
54 | 42 | ||
55 | DEBUGF(" cook_version = 0x%08lx\n", rmctx->cook_version); | 43 | DEBUGF(" cook_version = 0x%08x\n", get_uint32be(rmctx->codec_extradata)); |
56 | DEBUGF(" samples_per_frame_per_channel = %d\n", rmctx->samples_pf_pc); | 44 | DEBUGF(" samples_per_frame_per_channel = %d\n", get_uint16be(&rmctx->codec_extradata[4])); |
57 | DEBUGF(" number_of_subbands_in_freq_domain = %d\n", rmctx->nb_subbands); | 45 | DEBUGF(" number_of_subbands_in_freq_domain = %d\n", get_uint16be(&rmctx->codec_extradata[6])); |
58 | if(rmctx->extradata_size == 16) { | 46 | if(rmctx->extradata_size == 16) { |
59 | DEBUGF(" joint_stereo_subband_start = %d\n",rmctx->js_subband_start); | 47 | DEBUGF(" joint_stereo_subband_start = %d\n",get_uint16be(&rmctx->codec_extradata[12])); |
60 | DEBUGF(" joint_stereo_vlc_bits = %d\n", rmctx->js_vlc_bits); | 48 | DEBUGF(" joint_stereo_vlc_bits = %d\n", get_uint16be(&rmctx->codec_extradata[14])); |
61 | } | 49 | } |
62 | } | 50 | } |
63 | 51 | ||
@@ -174,13 +162,10 @@ static inline int real_read_audio_stream_info(int fd, RMContext *rmctx) | |||
174 | 162 | ||
175 | read_uint32be(fd, &rmctx->extradata_size); | 163 | read_uint32be(fd, &rmctx->extradata_size); |
176 | skipped += 4; | 164 | skipped += 4; |
177 | /*if(!strncmp(fourcc2str(fourcc),"cook",4)){ | 165 | read(fd, rmctx->codec_extradata, rmctx->extradata_size); |
178 | skipped += read_cook_extradata(fd, rmctx); | 166 | skipped += rmctx->extradata_size; |
179 | rmctx->codec_type = cook; | ||
180 | }*/ | ||
181 | switch(fourcc) { | 167 | switch(fourcc) { |
182 | case FOURCC('c','o','o','k'): | 168 | case FOURCC('c','o','o','k'): |
183 | skipped += read_cook_extradata(fd, rmctx); | ||
184 | rmctx->codec_type = cook; | 169 | rmctx->codec_type = cook; |
185 | break; | 170 | break; |
186 | 171 | ||