diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2014-06-30 13:20:12 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-07-08 14:50:00 +0100 |
commit | eeaf4d11b707ab5b39ff7f5f4ea208686ebcdba8 (patch) | |
tree | fc016ffdb253cf01b1adaf98e1574af6ac0c2c09 /gst/mpegtsdemux | |
parent | a755fbb44021c84535d7f1ecd1ab85fdbb6b9afa (diff) | |
download | gstreamer-plugins-bad-eeaf4d11b707ab5b39ff7f5f4ea208686ebcdba8.tar.gz |
tsdemux: add support for KLV metadata streams
There's no timestamps for these streams though, we
might want to make some up based on the last/next
video PTS or so.
Diffstat (limited to 'gst/mpegtsdemux')
-rw-r--r-- | gst/mpegtsdemux/gstmpegdesc.h | 1 | ||||
-rw-r--r-- | gst/mpegtsdemux/tsdemux.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h index 282ce3536..d1256a65d 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 b06bf4b69..217d5ad35 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; } } |