summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-01-06 13:51:01 +0100
committerSebastian Dröge <sebastian@centricular.com>2014-01-06 13:54:40 +0100
commit84bd65b9bd7851289e8aed63a792468b82a75a55 (patch)
treeefcf23da813e699e86829546243277ed143250e6 /gst/mpegtsdemux
parentf12705b2f5d21f0f28b346ca5239b7ddb899fccb (diff)
downloadgstreamer-plugins-bad-84bd65b9bd7851289e8aed63a792468b82a75a55.tar.gz
tsdemux: Add HEVC / h265 support
Diffstat (limited to 'gst/mpegtsdemux')
-rw-r--r--gst/mpegtsdemux/gstmpegdesc.h1
-rw-r--r--gst/mpegtsdemux/tsdemux.c14
2 files changed, 15 insertions, 0 deletions
diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h
index 38fa4b35c..282ce3536 100644
--- a/gst/mpegtsdemux/gstmpegdesc.h
+++ b/gst/mpegtsdemux/gstmpegdesc.h
@@ -230,5 +230,6 @@
#define DRF_ID_GA94 0x47413934
#define DRF_ID_CUEI 0x43554549
#define DRF_ID_ETV1 0x45545631
+#define DRF_ID_HEVC 0x48455643
#endif /* __GST_MPEG_DESC_H__ */
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index f17bafa28..d1f1f5dab 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -892,6 +892,13 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
name = g_strdup_printf ("audio_%04x", bstream->pid);
caps = gst_caps_new_empty_simple ("audio/x-smpte-302m");
break;
+ case DRF_ID_HEVC:
+ template = gst_static_pad_template_get (&video_template);
+ name = g_strdup_printf ("video_%04x", bstream->pid);
+ caps = gst_caps_new_simple ("video/x-h265",
+ "stream-format", G_TYPE_STRING, "byte-stream",
+ "alignment", G_TYPE_STRING, "nal", NULL);
+ break;
}
if (template)
break;
@@ -947,6 +954,13 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
"stream-format", G_TYPE_STRING, "byte-stream",
"alignment", G_TYPE_STRING, "nal", NULL);
break;
+ case GST_MPEG_TS_STREAM_TYPE_VIDEO_HEVC:
+ template = gst_static_pad_template_get (&video_template);
+ name = g_strdup_printf ("video_%04x", bstream->pid);
+ caps = gst_caps_new_simple ("video/x-h265",
+ "stream-format", G_TYPE_STRING, "byte-stream",
+ "alignment", G_TYPE_STRING, "nal", NULL);
+ break;
case ST_VIDEO_DIRAC:
if (bstream->registration_id == 0x64726163) {
GST_LOG ("dirac");