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/libmythtv/avformatdecoder.cpp b/mythtv/libs/libmythtv/avformatdecoder.cpp
index c332004..419e60e 100644
a
|
b
|
int AvFormatDecoder::ScanStreams(bool novideo) |
2030 | 2030 | .arg(codec_id_string(enc->codec_id)) |
2031 | 2031 | .arg(enc->channels)); |
2032 | 2032 | |
| 2033 | if (ringBuffer && ringBuffer->isDVD() && enc->channels == 0) |
| 2034 | continue; |
2033 | 2035 | #if 0 |
2034 | 2036 | // HACK MULTICHANNEL DTS passthru disabled for multichannel, |
2035 | 2037 | // dont know how to handle this |
… |
… |
bool AvFormatDecoder::GetFrame(DecodeType decodetype) |
3911 | 3913 | .arg(codec_id_string(curstream->codec->codec_id)) |
3912 | 3914 | .arg(curstream->codec->codec_id)); |
3913 | 3915 | av_free_packet(pkt); |
| 3916 | |
| 3917 | // workaround for #8134. |
| 3918 | if (ringBuffer && ringBuffer->isDVD() && |
| 3919 | curstream->codec->codec_id == CODEC_ID_PCM_S16BE) |
| 3920 | { |
| 3921 | ScanStreams(false); |
| 3922 | } |
3914 | 3923 | continue; |
3915 | 3924 | } |
3916 | 3925 | |