diff --git a/gst/mpegtsmux/tsmux/tsmuxcommon.h b/gst/mpegtsmux/tsmux/tsmuxcommon.h index 5ff6826611..c9f087e2e1 100644 --- a/gst/mpegtsmux/tsmux/tsmuxcommon.h +++ b/gst/mpegtsmux/tsmux/tsmuxcommon.h @@ -113,6 +113,7 @@ G_BEGIN_DECLS #define TSMUX_PACKET_FLAG_PES_WRITE_PTS_DTS (1 << 10) #define TSMUX_PACKET_FLAG_PES_WRITE_ESCR (1 << 11) #define TSMUX_PACKET_FLAG_PES_EXT_STREAMID (1 << 12) +#define TSMUX_PACKET_FLAG_PES_DATA_ALIGNMENT (1 << 13) /* PAT interval (1/10th sec) */ #define TSMUX_DEFAULT_PAT_INTERVAL (TSMUX_CLOCK_FREQ / 10) diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c index 75c2791b25..ecc0be8a8b 100644 --- a/gst/mpegtsmux/tsmux/tsmuxstream.c +++ b/gst/mpegtsmux/tsmux/tsmuxstream.c @@ -578,7 +578,11 @@ tsmux_stream_write_pes_header (TsMuxStream * stream, guint8 * data) guint8 flags = 0; /* Not scrambled, original, not-copyrighted, data_alignment not specified */ - *data++ = 0x81; + flags = 0x81; + if (stream->pi.flags & TSMUX_PACKET_FLAG_PES_DATA_ALIGNMENT) + flags |= 0x4; + *data++ = flags; + flags = 0; /* Flags */ if (stream->pi.flags & TSMUX_PACKET_FLAG_PES_WRITE_PTS_DTS)