Opened 13 years ago
Closed 13 years ago
#10693 closed Patch - Bug Fix (Won't Fix)
Fix passthrough case of mythtrancode running in fifo mode
Reported by: | Owned by: | beirdo | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - Mythtranscode | Version: | 0.25-fixes |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
See pull request: https://github.com/MythTV/mythtv/pull/20
The new version of AudioRencodeBuffer? requires the assumption that buflen == frames * byte_per_frame, which isn't true in passthrough mode, since the data is compressed. I've updated the code so that, at least in the case that m_audioFrameSize == 0, the number of frames is recorded separately from the buffer length, and used in further calculations. That fixes the fifo-mode case. Possibly other passthrough cases could be handled by changing the condition on which frames are used, but I don't understand enough of the surrounding code to be sure.
I've also simplified AudioReencodeBuffer::addData. Now data is always placed in saveBuffer before moving to the buffer list. That simplifies the algorithm a lot without any loss in efficiency.
Lastly I've changed one of the calls to cutter where 1 was being passed rather than the number of frames.
I have rejected the pull request. You have removed necessary functionality in an attempt to clean up one code path. This will completely break HLS mode, and thus is unacceptable.
Please open a new ticket with the observed issues with passthrough mode, and we'll get it fixed in a way that isn't nearly as invasive.