mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
4668330bdc
The PES header length is calculated before setting the dynamic flags, returning a wrong value. Small frames that should be sent in a single TS packet are spawned to a new packet because of that error. For audio streams where a single frame can cope in one TS packet it introduces a huge overhead. For a 100B packet, we prepare a TS packet with a payload of(100+9)B. Then, we write the TS header using this value in tsmux_write_ts_header, and call tsmux_stream_get_data(). The dynamic flags where not set yet and now tsmux_stream_pes_header_length() returns 14B instead of 9B. The payload of the TS packet is 114B, 5B more than what was calculated. 109B are sent in a first packet and the remaining 5B are sent in another one. Fixes bug #628548. |
||
---|---|---|
.. | ||
tsmux | ||
Makefile.am | ||
mpegtsmux.c | ||
mpegtsmux.h | ||
mpegtsmux_aac.c | ||
mpegtsmux_aac.h | ||
mpegtsmux_h264.c | ||
mpegtsmux_h264.h |