1 | diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp b/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
2 | index 6e0b543..2b8998e 100644 |
---|
3 | --- a/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
4 | +++ b/mythtv/libs/libmythtv/avformatdecoder.cpp |
---|
5 | @@ -1990,7 +1990,13 @@ int AvFormatDecoder::ScanStreams(bool novideo) |
---|
6 | |
---|
7 | if (enc->codec_type == CODEC_TYPE_AUDIO) |
---|
8 | { |
---|
9 | - int lang = get_canonical_lang(ic->streams[i]->language); |
---|
10 | + int lang; |
---|
11 | + if (ringBuffer && ringBuffer->isDVD()) |
---|
12 | + lang = ringBuffer->DVD()->GetAudioLanguage( |
---|
13 | + ringBuffer->DVD()->GetAudioTrackNum(ic->streams[i]->id)); |
---|
14 | + else |
---|
15 | + lang = get_canonical_lang(ic->streams[i]->language); |
---|
16 | + |
---|
17 | int lang_indx = lang_aud_cnt[lang]; |
---|
18 | lang_aud_cnt[lang]++; |
---|
19 | |
---|
20 | @@ -3202,10 +3208,12 @@ int AvFormatDecoder::AutoSelectAudioTrack(void) |
---|
21 | for (uint i = 0; i < numStreams; i++) |
---|
22 | { |
---|
23 | if (wlang == atracks[i].language) |
---|
24 | + { |
---|
25 | selTrack = i; |
---|
26 | |
---|
27 | - if (windx == atracks[i].language_index) |
---|
28 | - break; |
---|
29 | + if (windx == atracks[i].language_index) |
---|
30 | + break; |
---|
31 | + } |
---|
32 | } |
---|
33 | } |
---|
34 | |
---|