diff ac3_parser.c @ 9512:ba5d9a97ab2f libavcodec

Add channel layout support to the AC-3 decoder and AC-3 parser.
author jbr
date Sun, 19 Apr 2009 15:05:32 +0000
parents 0dce4fe6e6f3
children 6e15ce7ca0ca
line wrap: on
line diff
--- a/ac3_parser.c	Sun Apr 19 14:05:55 2009 +0000
+++ b/ac3_parser.c	Sun Apr 19 15:05:32 2009 +0000
@@ -121,6 +121,9 @@
                         (hdr->num_blocks * 256.0));
         hdr->channels = ff_ac3_channels_tab[hdr->channel_mode] + hdr->lfe_on;
     }
+    hdr->channel_layout = ff_ac3_channel_layout_tab[hdr->channel_mode];
+    if (hdr->lfe_on)
+        hdr->channel_layout |= CH_LOW_FREQUENCY;
 
     return 0;
 }
@@ -174,6 +177,7 @@
     hdr_info->sample_rate = hdr.sample_rate;
     hdr_info->bit_rate = hdr.bit_rate;
     hdr_info->channels = hdr.channels;
+    hdr_info->channel_layout = hdr.channel_layout;
     hdr_info->samples = hdr.num_blocks * 256;
     if(hdr.bitstream_id>10)
         hdr_info->codec_id = CODEC_ID_EAC3;