[2013-07-07 18:19:09,163] [Log ] [MPMain ] [DEBUG] - TVHome.OnAudioTracksReady()
[2013-07-07 18:19:09,166] [Log ] [MPMain ] [DEBUG] - TVHome.GetPreferedAudioStreamIndex(): preferred LANG(s):fin;eng preferAC3:False preferAudioTypeOverLang:True
[2013-07-07 18:19:09,166] [Log ] [MPMain ] [DEBUG] - Audio streams avail: 2
[2013-07-07 18:19:09,166] [Log ] [MPMain ] [INFO ] - TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded
[2013-07-07 18:19:09,167] [Log ] [MPMain ] [INFO ] - TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded
[2013-07-07 18:19:09,168] [Log ] [MPMain ] [DEBUG] - Stream 0 lang UNK, lang priority index -1
[2013-07-07 18:19:09,168] [Log ] [MPMain ] [INFO ] - TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded
[2013-07-07 18:19:09,168] [Log ] [MPMain ] [DEBUG] - Stream 1 lang eng, lang priority index 1
[2013-07-07 18:19:09,168] [Log ] [MPMain ] [DEBUG] - Setting AC3 pref
[2013-07-07 18:19:09,169] [Log ] [MPMain ] [INFO ] - Audio stream: no preferred stream found - switching to audio stream 0
Looking at MediaPortal.log:
Can you try unticking the 'Prefer audiotype over Language' box and see if it makes a difference ?
Also try putting English at the top of the Preferred Language list (just for testing - I assume you have Finnish at the top normally).
05-08-2013 11:28:14.015 [ e02e880] [ fc8] New channel found (PAT/PMT/SDT changed)
05-08-2013 11:28:14.015 [ e02e880] [ fc8] pcr pid: 200
05-08-2013 11:28:14.015 [ e02e880] [ fc8] pmt pid: 100
05-08-2013 11:28:14.015 [ e02e880] [ fc8] video pid: 200 type: H264
05-08-2013 11:28:14.015 [ e02e880] [ fc8] audio pid: 20 language: dut type: AC3
05-08-2013 11:28:14.015 [ e02e880] [ fc8] audio pid: 281 language: eng type: AC3
05-08-2013 11:28:14.015 [ e02e880] [ fc8] Subtitle pid: 178b language: fin type: DVB subtitle 2
Can you try the attached TsReader.ax please ?
I think I've fixed the PMT parsing issue with these AC-3 streams, so you should get the languages identified correctly.
From the TsReader.log when playing the sample stream:
Code:05-08-2013 11:28:14.015 [ e02e880] [ fc8] New channel found (PAT/PMT/SDT changed) 05-08-2013 11:28:14.015 [ e02e880] [ fc8] pcr pid: 200 05-08-2013 11:28:14.015 [ e02e880] [ fc8] pmt pid: 100 05-08-2013 11:28:14.015 [ e02e880] [ fc8] video pid: 200 type: H264 05-08-2013 11:28:14.015 [ e02e880] [ fc8] audio pid: 20 language: dut type: AC3 05-08-2013 11:28:14.015 [ e02e880] [ fc8] audio pid: 281 language: eng type: AC3 05-08-2013 11:28:14.015 [ e02e880] [ fc8] Subtitle pid: 178b language: fin type: DVB subtitle 2
I need you to check it still works correctly with other streams i.e. that it hasn't introduced any regressions with other AC-3 audio.
We may need to fix the MP audio selection code as well, but we'll do that once we know TsReader.ax is OK.
Tony
Unfortunately, YLE HD is the only TV channel with AC3 audio that I have access to. So far, it seems that your changes have fixed the problems I had with audio language detection. I went through a few recordings I had - also from YLE HD - and watched some TV shows with either only Finnish or both Dutch and English audio tracks. They were all detected correctly. I did not see any problems with language detection with MPEG2 audio either. Thank you!
I'll create a new Jira issue for the TsReader.ax bug fix, so the MP player language selection issue doesn't get lost (assuming that there *may* still be a problem there in some situations, as per issue MP1-2172).