Ticket #7639: dvd-audio-language-detection

File dvd-audio-language-detection, 1.2 KB (added by linux@…, 14 years ago)

update patch to determine audio track number via DVDRingBuffer::GetAudioTrackNum?

Line 
1diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp b/mythtv/libs/libmythtv/avformatdecoder.cpp
2index 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