Opened 3 years ago
Closed 3 years ago
Last modified 3 years 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: ftp://firstname.lastname@example.org/nomheg.mpg
Change History (6)
Changed 3 years ago by Lawrence Rust <lvr@…>
comment:1 Changed 3 years ago by danielk
- Milestone changed from unknown to 0.26
comment:2 Changed 3 years ago by dekarl@…
comment:3 Changed 3 years ago by beirdo
comment:4 Changed 3 years ago by Lawrence Rust <lvr@…>
- Resolution set to fixed
- Status changed from new to closed