tsmux: fix continuity counter for packets with no payload

This commit is contained in:
Mathieu Duponchelle 2019-05-08 16:56:29 +02:00 committed by Mathieu Duponchelle
parent a1cadd11b8
commit 3c7c08e7c4

View file

@ -823,7 +823,7 @@ tsmux_write_ts_header (guint8 * buf, TsMuxPacketInfo * pi,
guint * payload_len_out, guint * payload_offset_out, guint stream_avail) guint * payload_len_out, guint * payload_offset_out, guint stream_avail)
{ {
guint8 *tmp; guint8 *tmp;
guint8 adaptation_flag; guint8 adaptation_flag = 0;
guint8 adapt_min_length = 0; guint8 adapt_min_length = 0;
guint8 adapt_len = 0; guint8 adapt_len = 0;
guint payload_len; guint payload_len;
@ -851,7 +851,6 @@ tsmux_write_ts_header (guint8 * buf, TsMuxPacketInfo * pi,
* 2 bits: adaptation field control (1x has_adaptation_field | x1 has_payload) * 2 bits: adaptation field control (1x has_adaptation_field | x1 has_payload)
* 4 bits: continuity counter (xxxx) * 4 bits: continuity counter (xxxx)
*/ */
adaptation_flag = pi->packet_count & 0x0f;
if (pi->flags & TSMUX_PACKET_FLAG_ADAPTATION) { if (pi->flags & TSMUX_PACKET_FLAG_ADAPTATION) {
write_adapt = TRUE; write_adapt = TRUE;
@ -895,6 +894,8 @@ tsmux_write_ts_header (guint8 * buf, TsMuxPacketInfo * pi,
pi->packet_count++; pi->packet_count++;
} }
adaptation_flag |= pi->packet_count & 0x0f;
/* Write the byte of transport_scrambling_control, adaptation_field_control /* Write the byte of transport_scrambling_control, adaptation_field_control
* + continuity counter out */ * + continuity counter out */
buf[3] = adaptation_flag; buf[3] = adaptation_flag;