Opened 14 years ago
Closed 14 years ago
#8030 closed defect (fixed)
*confusing* AC3 track confuses trunk audio code
Reported by: | Owned by: | JYA | |
---|---|---|---|
Priority: | minor | Milestone: | 0.23 |
Component: | MythTV - Audio Output | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
My frontend has a Chaintech AV-710 sound card, and all audio goes from the frontend to my receiver via S/PDIF. Playing non-AC3 and AC3 audio from my MythTV recordings has almost always been flawless.
Since moving to the trunk/0.23 audio code, for the last month or so of The Tonight Show with Conan O'Brien before cancelation, its AC3 track would usually confuse mythfrontend. The issue may be caused by the transition between non-AC3 and AC3 audio in the same recording. Four samples from the last episode are available, each 100MB (about 55 seconds) in length.
*conan.mpg Taken from the middle of the recording. Audio plays properly.
*conan2.mpg Taken from the beginning of the recording. The non-AC3 track from the local-news program preceding Tonight plays correctly; the AC3 track from Tonight does not.
*conan3.mpg Starts a second or two after Tonight begins. Audio plays correctly.
*conan4.mpg Starts just before or after (hard to tell) Tonight begins. Audio does not play correctly.
This issue also exists with other NBC programs, but not consistently as with Tonight; last night's episode of Community does, but previous ones did not. Both recordings are from over-the-air; unfortunately I do not know if other NBC recordings I've seen with the issue were also from OTA as opposed to FireWire?.
Change History (8)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Milestone: | unknown → 0.23 |
---|---|
Priority: | minor → major |
comment:3 follow-up: 4 Changed 14 years ago by
Yeechang, I wasn't able to download your samples. Could you provide them again?
comment:4 Changed 14 years ago by
Replying to tralph:
Yeechang, I wasn't able to download your samples. Could you provide them again?
I've reuploaded the clips. (They might've been deleted due to overzealous anti-piracy measures, not realizing that each clip is each less than a minute of a 60-minute program uploaded purely for diagnostic purposes, so I suggest downloading them sooner rather than later if possible.)
comment:5 Changed 14 years ago by
I have finally some times this week-end, and I will be working on it...
comment:6 Changed 14 years ago by
Priority: | major → minor |
---|
Some notes... All Audio tracks in those samples are AC3 ; it just changes from AC3 2ch to 6ch
Index: libs/libmythtv/avformatdecoder.cpp =================================================================== --- libs/libmythtv/avformatdecoder.cpp (revision 23613) +++ libs/libmythtv/avformatdecoder.cpp (working copy) @@ -3951,7 +3951,10 @@
{
if (hdr.channels != last_ac3_channels) {
- last_ac3_channels = curstream->codec->channels = hdr.channels;
+ VERBOSE(VB_AUDIO, LOC + QString("from %1 to %2 channels").arg(last_ac3_channels).arg(hdr.channels)); + if (hdr.channels < last_ac3_channels) + curstream->codec->channels = hdr.channels; + last_ac3_channels = hdr.channels;
}
}
Will show whenever a number of channels change occurs in the AC3 audio track... You will see in that video that the number of channels change from 2 to 6 to 2 to 6 etc... 2010-02-27 02:16:43.404 AFD: from 2 to 6 channels 2010-02-27 02:16:43.804 AFD: from 6 to 2 channels 2010-02-27 02:16:43.805 AFD: from 2 to 6 channels 2010-02-27 02:16:43.971 AFD: from 6 to 2 channels 2010-02-27 02:16:43.971 AFD: from 2 to 6 channels 2010-02-27 02:16:44.138 AFD: from 6 to 2 channels etc...
When timestretch is activated once, digital passthrough is disabled for the remaining of the playback; this has the side effect of mythtv to then stop checking if the number of channels has changed and will only decode the stereo channels. *But* the number of channels change continue to occur... So the problem is still there, it's just hidden.
The patch above will change the decoding to the least amount of channels present when a number of channels change occur. This is not the ideal solution, because should a genuine change in the number of channels occur then it won't happen.
The ideal work-around would be to disable the number of channels tracking only if it occurs too quickly...
Same issues occur with mplayer... (I get no sound during the pure stereo tracks)
Change bug to minor as the problem is with the content... Note that the same issue is found in all those videos ...
So I believe you should complain to NBC
comment:7 Changed 14 years ago by
Summary: | AC3 track confuses trunk audio code → *confusing* AC3 track confuses trunk audio code |
---|
Replying to Yeechang Lee <ylee@…>:
After further testing, the issue requires a) a transition between non-AC3 and AC3 audio and b) more than one audio track in the recording, and c) can be worked around via using timestretch. See the thread beginning at http://www.gossamer-threads.com/lists/mythtv/dev/423098#423098 .