Opened 23 months ago
Closed 21 months ago
Last modified 21 months ago
[PATCH] ffmpeg: Dont discard PES sections split across a TS packet
|Reported by:||Lawrence Rust <lvr@…>||Owned by:||danielk|
|Component:||MythTV - DVB||Version:||0.25-fixes|
|Severity:||medium||Keywords:||MHEG 'red button'|
In libavformat/mpegts.c, if a TS packet has a pointer field which marks the boundary of a PES section then the first section will be discarded if a second section is started in the remainder of the TS packet.
This fix adds a check for a completed section and if present, appends the 2nd section table to the 1st.
This bug is most noticeable on the BBC MHEG text (red button) service which often will not start because the boot application or essential files have missing blocks. Currently, it is often impossible to view the BBC 'red button' service on FreeSat? because of this bug.
The attached patch is for fixes/0.25 and is also applicable to fixes/0.24. The same bug also affects git master but ffmpeg has been updated since and has changed considerably in this area.
I take it that this bug has been around for a long time and has caused problems for text and subtitle users for a similarly long time.
The bug and fix can be tested on this sample (16MB) recorded from Freesat BBC1 on the 25-May with mythtv fixes/0.24:
Change History (6)
Changed 23 months ago by Lawrence Rust <lvr@…>
comment:1 Changed 23 months ago by danielk
- Milestone changed from unknown to 0.26
comment:2 Changed 23 months ago by dekarl@…
comment:3 Changed 22 months ago by beirdo
comment:4 Changed 21 months ago by Lawrence Rust <lvr@…>
- Resolution set to fixed
- Status changed from new to closed