summaryrefslogtreecommitdiff
path: root/apps/metadata/rm.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/metadata/rm.c')
-rw-r--r--apps/metadata/rm.c33
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
41static 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
53static inline void print_cook_extradata(RMContext *rmctx) { 41static 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