summaryrefslogtreecommitdiff
path: root/libavformat/flvdec.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-04-07 13:31:40 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2012-11-12 10:33:19 -0500
commit644d8d2e5abcad4e6cd2d5761b4f97813fbda96f (patch)
tree2ff1858f955de2466984b135842f177719b8b839 /libavformat/flvdec.c
parentd5ca70b10302b47c70c6bc25400125b30d2ef619 (diff)
flvdec: set channel layout
Diffstat (limited to 'libavformat/flvdec.c')
-rw-r--r--libavformat/flvdec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 868cc6b793..7d5ea56cdd 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -25,6 +25,7 @@
*/
#include "libavutil/avstring.h"
+#include "libavutil/channel_layout.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/intfloat.h"
@@ -749,6 +750,8 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
bits_per_coded_sample = (flags & FLV_AUDIO_SAMPLESIZE_MASK) ? 16 : 8;
if(!st->codec->channels || !st->codec->sample_rate || !st->codec->bits_per_coded_sample) {
st->codec->channels = channels;
+ st->codec->channel_layout = channels == 1 ? AV_CH_LAYOUT_MONO :
+ AV_CH_LAYOUT_STEREO;
st->codec->sample_rate = sample_rate;
st->codec->bits_per_coded_sample = bits_per_coded_sample;
}
@@ -794,6 +797,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
avpriv_mpeg4audio_get_config(&cfg, st->codec->extradata,
st->codec->extradata_size * 8, 1);
st->codec->channels = cfg.channels;
+ st->codec->channel_layout = 0;
if (cfg.ext_sample_rate)
st->codec->sample_rate = cfg.ext_sample_rate;
else