Opened 8 years ago

Closed 8 years ago

#10693 closed Patch - Bug Fix (Won't Fix)

Fix passthrough case of mythtrancode running in fifo mode

Reported by: mythtv@… 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.

Change History (2)

comment:1 Changed 8 years ago by beirdo

Owner: set to beirdo
Status: newassigned

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.

comment:2 Changed 8 years ago by beirdo

Resolution: Won't Fix
Status: assignedclosed
Note: See TracTickets for help on using tickets.