[FFmpeg-trac] #9422(avformat:new): PMT descriptor overflow, results in incorrect streams

FFmpeg trac at avcodec.org
Wed Sep 15 16:21:18 EEST 2021

#9422: PMT descriptor overflow, results in incorrect streams
             Reporter:  Nicolás      |                    Owner:  (none)
  Jorge Dato                         |
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  mpegts       |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
Comment (by Nicolás Jorge Dato):

 Patch v3: https://ffmpeg.org/pipermail/ffmpeg-

 Here is more context about that sample. There is a TV station that
 provides a Live stream over HLS. The sample I have attached is a dump from
 that HLS stream.
 I was trying to play it using Omxplayer (in a Raspberry Pi). Omxplayer
 didn't play anything, I figured out that Omxplayer reproduces "Program 1",
 and with this stream the Program and Streams are incorrect, thus Omxplayer
 was trying to reproduce a stream that doesn't exist.

 I have no idea what is the intention of the muxer to add that ID 1
 descriptor, and neither do I know why program_info_length is not set to
 the correct value. I don't have control over the muxer that generates that
 stream. I think that problem would be for another ticket if you like.

 I made this ticket because when mpegts.c recognizes the descriptor
 overflows the program_info_length field, mpegts.c "jumps" to the end of
 the descriptors according to the program_info_length field.
 It looks like this is the original idea. However, mpegts.c is actually
 jumping to program_info_length+2 because it doesn't subtract 2 bytes that
 mpegts.c has already read.
Ticket URL: <https://trac.ffmpeg.org/ticket/9422#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list