Signed-off-by: Vittorio Giovara <[email protected]>
---
 libavformat/apc.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavformat/apc.c b/libavformat/apc.c
index 40ecdf2c5d..8a8a5c3491 100644
--- a/libavformat/apc.c
+++ b/libavformat/apc.c
@@ -36,6 +36,7 @@ static int apc_read_header(AVFormatContext *s)
 {
     AVIOContext *pb = s->pb;
     AVStream *st;
+    int channels;
 
     avio_rl32(pb); /* CRYO */
     avio_rl32(pb); /* _APC */
@@ -60,16 +61,11 @@ static int apc_read_header(AVFormatContext *s)
     /* initial predictor values for adpcm decoder */
     avio_read(pb, st->codecpar->extradata, 2 * 4);
 
-    if (avio_rl32(pb)) {
-        st->codecpar->channels       = 2;
-        st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
-    } else {
-        st->codecpar->channels       = 1;
-        st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;
-    }
+    channels = avio_rl32(pb) + 1;
+    av_channel_layout_default(&st->codecpar->ch_layout, channels);
 
     st->codecpar->bits_per_coded_sample = 4;
-    st->codecpar->bit_rate = st->codecpar->bits_per_coded_sample * 
st->codecpar->channels
+    st->codecpar->bit_rate = st->codecpar->bits_per_coded_sample * channels
                           * st->codecpar->sample_rate;
     st->codecpar->block_align = 1;
 
-- 
2.12.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to