mpegts muxer does not follow TS buffering requirements specified in iso13818-1 section 126.96.36.199
|Reproduced by developer:
|Analyzed by developer:
The mpegts muxer in ffmpeg (tested with 0.9.1) does not respect the 512 byte transport buffer for each pid as described in iso13818-1 section 188.8.131.52.
Streams created with ffmpeg (with the muxrate option) have been seen to send over 100 packets in sequence (at least on video data) which exceeds the maximum buffer extraction rate for streams in the Main Level (as defined in iso13818-2 table 8-13). The same also applies to audio packets, albeit with different limits.
For any stream >18mbit/sec the maximum number of packets for a PID that can be inserted in sequence is 2 or 3 (assuming an empty buffer prior to insertion).
This can cause errors in decoding the ts on certain hardware.
The packets should therefore be ordered appropriately in the stream to comply with the TS buffer limit of 512 bytes when the muxrate parameter is specified.