diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h index 282ce3536e..d1256a65d5 100644 --- a/gst/mpegtsdemux/gstmpegdesc.h +++ b/gst/mpegtsdemux/gstmpegdesc.h @@ -231,5 +231,6 @@ #define DRF_ID_CUEI 0x43554549 #define DRF_ID_ETV1 0x45545631 #define DRF_ID_HEVC 0x48455643 +#define DRF_ID_KLVA 0x4b4c5641 /* defined in RP217 */ #endif /* __GST_MPEG_DESC_H__ */ diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c index b06bf4b69e..217d5ad35b 100644 --- a/gst/mpegtsdemux/tsdemux.c +++ b/gst/mpegtsdemux/tsdemux.c @@ -1196,6 +1196,12 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream, "stream-format", G_TYPE_STRING, "byte-stream", "alignment", G_TYPE_STRING, "nal", NULL); break; + case DRF_ID_KLVA: + sparse = TRUE; + is_private = TRUE; + caps = gst_caps_new_simple ("meta/x-klv", + "parsed", G_TYPE_BOOLEAN, TRUE, NULL); + break; } if (caps) break; @@ -1851,7 +1857,7 @@ gst_ts_demux_parse_pes_header (GstTSDemux * demux, TSDemuxStream * stream, stream->expected_size -= header.header_size; } else { /* next packet will have to complete this one */ - GST_ERROR ("invalid header and packet size combination"); + GST_WARNING ("invalid header and packet size combination, empty packet"); stream->expected_size = 0; } }