diff --git a/mythtv/libs/libavcodec/pcm.c b/mythtv/libs/libavcodec/pcm.c
index b16f663..572ee94 100644
a
|
b
|
static int pcm_decode_frame(AVCodecContext *avctx, |
373 | 373 | |
374 | 374 | n = buf_size/sample_size; |
375 | 375 | |
376 | | switch(avctx->codec_id) { |
| 376 | switch(avctx->codec->id) { |
377 | 377 | case CODEC_ID_PCM_U32LE: |
378 | 378 | DECODE(uint32_t, le32, src, samples, n, 0, 0x80000000) |
379 | 379 | break; |
diff --git a/mythtv/libs/libavformat/mpeg.c b/mythtv/libs/libavformat/mpeg.c
index 436480a..e9ecc9f 100644
a
|
b
|
static int mpegps_read_packet(AVFormatContext *s, |
560 | 560 | st->codec->bit_rate = st->codec->channels * |
561 | 561 | st->codec->sample_rate * |
562 | 562 | st->codec->bits_per_coded_sample; |
563 | | if (st->codec->bits_per_coded_sample == 16) |
| 563 | if (st->codec->bits_per_coded_sample == 16) { |
564 | 564 | st->codec->codec_id = CODEC_ID_PCM_S16BE; |
| 565 | st->codec->sample_fmt = SAMPLE_FMT_S16; |
| 566 | if (st->codec->codec) { |
| 567 | AVCodec *pcm_s16be_codec; |
| 568 | avcodec_close(st->codec); |
| 569 | pcm_s16be_codec = avcodec_find_decoder(CODEC_ID_PCM_S16BE); |
| 570 | if (pcm_s16be_codec) { |
| 571 | st->codec->codec = pcm_s16be_codec; |
| 572 | } |
| 573 | } |
| 574 | } |
565 | 575 | else if (st->codec->bits_per_coded_sample == 28) |
566 | 576 | return AVERROR(EINVAL); |
567 | 577 | } |