Browse Source

libopencore-amr: set channel layout for amr-nb or if not set by the user

tags/n1.1
Justin Ruggles 12 years ago
parent
commit
d40dab907a
1 changed files with 9 additions and 5 deletions
  1. +9
    -5
      libavcodec/libopencore-amr.c

+ 9
- 5
libavcodec/libopencore-amr.c View File

@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

#include "libavutil/audioconvert.h"
#include "avcodec.h"
#include "libavutil/avstring.h"
#include "libavutil/common.h"
@@ -30,13 +31,16 @@ static void amr_decode_fix_avctx(AVCodecContext *avctx)
{
const int is_amr_wb = 1 + (avctx->codec_id == AV_CODEC_ID_AMR_WB);

if (!avctx->sample_rate)
avctx->sample_rate = 8000 * is_amr_wb;
avctx->sample_rate = 8000 * is_amr_wb;

if (!avctx->channels)
avctx->channels = 1;
if (avctx->channels > 1) {
av_log_missing_feature(avctx, "multi-channel AMR", 0);
return AVERROR_PATCHWELCOME;
}

avctx->sample_fmt = AV_SAMPLE_FMT_S16;
avctx->channels = 1;
avctx->channel_layout = AV_CH_LAYOUT_MONO;
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
}

#if CONFIG_LIBOPENCORE_AMRNB


Loading…
Cancel
Save