apc: set channel layout
authorJustin Ruggles <justin.ruggles@gmail.com>
Sat, 7 Apr 2012 15:25:52 +0000 (11:25 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Mon, 12 Nov 2012 15:33:18 +0000 (10:33 -0500)
libavformat/apc.c

index 7ae2423..0b6c583 100644 (file)
@@ -20,6 +20,8 @@
  */
 
 #include <string.h>
+
+#include "libavutil/channel_layout.h"
 #include "avformat.h"
 
 static int apc_probe(AVProbeData *p)
@@ -58,9 +60,13 @@ static int apc_read_header(AVFormatContext *s)
     /* initial predictor values for adpcm decoder */
     avio_read(pb, st->codec->extradata, 2 * 4);
 
-    st->codec->channels = 1;
-    if (avio_rl32(pb))
-        st->codec->channels = 2;
+    if (avio_rl32(pb)) {
+        st->codec->channels       = 2;
+        st->codec->channel_layout = AV_CH_LAYOUT_STEREO;
+    } else {
+        st->codec->channels       = 1;
+        st->codec->channel_layout = AV_CH_LAYOUT_MONO;
+    }
 
     st->codec->bits_per_coded_sample = 4;
     st->codec->bit_rate = st->codec->bits_per_coded_sample * st->codec->channels