Opened 18 years ago
Closed 18 years ago
Last modified 18 years ago
#659 closed task (fixed)
Handle TS recordings where keyframe not detected early
Reported by: | danielk | Owned by: | danielk |
---|---|---|---|
Priority: | minor | Milestone: | 0.19 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Currently the keyframe map will be off and buffer switching will give us a glitch if the Sequence or GOP stream id is detected outside the first TS packet encapsulating a PES packet.
Note: See
TracTickets for help on using
tickets.
(In [7902]) Closes #659.
This queues up TS packet after a payload start until either a keyframe stream id is found, or the 10 packets following the payload start have been processed without finding it. If we do find a a keyframe stream id the keyframe is marked at the payload start packet's location.
Before this commit the TS packet where the keyframe stream id was found was considered the location of the keyframe, but you need a packet with the payload start flag to begin constructing the PES packet on playback; so this would mess up seek map and would mess up ringbuffer switching in LiveTV. Most broadcasters keep SEQ & GOP headers in the first TS packet, not doing so breaks compliance with hardware MPEG multiplexors. However, there is at least one broadcaster in Chicago who transmits such streams, hence the this change.