Opened 12 years ago
Closed 12 years ago
Last modified 12 years ago
#11432 closed Bug Report - General (fixed)
5cced61dd causes stuttering on UK Channel 4 HD recordings
Reported by: | Owned by: | Jim Stichnoth | |
---|---|---|---|
Priority: | minor | Milestone: | 0.27 |
Component: | MythTV - Video Playback | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Since updating past https://github.com/MythTV/mythtv/commit/5ccedb61ddd2fa87b426cd1c0fbc43d2645cb9a5 recordings from channel 4 HD have become unwatchable. It plays about half a second of video + audio, then freezes for a second etc.
There was a frontend error message about not being enough video frames buffered - I will grab a frontend log when I get a chance.
I built latest master with this one commit removed (using git rebase) and playback performs normally once again.
Change History (5)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
I'm not sure if this is relevant, but part of the patch doesn't look consistent with itself.
In dtvrecorder.cpp, there is a frameRateMap array, which is initialized using the FrameRate? constructor. For fractional values, these are initialised as FrameRate?(24000, 1001), FrameRate?(30000, 1001) and FrameRate?(60000, 1001). The prototype for this constructor is FrameRate?(uint n, uint d=1).
Elsewhere in the code, AVRational is initialised with a similar constructor AVRational AVRationalInit(int num, int den = 1), and it is called in avformatdecoder.cpp with pkt_dur = AVRationalInit(1001, 60000);
I am not entirely sure of the usage of AVRational, but it would seem that the arguments are swapped (den = 1001 in the FrameRate? constructor, num = 1001 in the AVRational one). Looking at the code I suspect that the FrameRate? constructor is being called incorrectly, but I can't be sure.
comment:3 Changed 12 years ago by
Component: | MythTV - General → MythTV - Video Playback |
---|---|
Milestone: | unknown → 0.27 |
Owner: | set to Jim Stichnoth |
Status: | new → accepted |
comment:4 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
I have also tried rebuilding the seektable of a broken recording, which doesn't seem to fix the issue.