summaryrefslogtreecommitdiff
path: root/gst/mpegtsmux
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2016-01-19 17:08:50 +0000
committerTim-Philipp Müller <tim@centricular.com>2016-01-19 17:08:50 +0000
commitab5aab60a98190ebee926716c9dd0ad256851d54 (patch)
tree1c5b3b8612c0e604a1fc1e5d796d8414fdc6aeba /gst/mpegtsmux
parent6e79d54ae582c28ff5db1bab1e6afbfea8e4e612 (diff)
mpegtsmux: add support for H.265/HEVC video
https://bugzilla.gnome.org/show_bug.cgi?id=744367
Diffstat (limited to 'gst/mpegtsmux')
-rw-r--r--gst/mpegtsmux/mpegtsmux.c4
-rw-r--r--gst/mpegtsmux/tsmux/tsmuxstream.c1
-rw-r--r--gst/mpegtsmux/tsmux/tsmuxstream.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 1d208a712..cd0733889 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -127,6 +127,8 @@ static GstStaticPadTemplate mpegtsmux_sink_factory =
"video/x-dirac;"
"video/x-h264,stream-format=(string)byte-stream,"
"alignment=(string){au, nal}; "
+ "video/x-h265,stream-format=(string)byte-stream,"
+ "alignment=(string){au, nal}; "
"audio/mpeg, "
"parsed = (boolean) TRUE, "
"mpegversion = (int) { 1, 2 };"
@@ -612,6 +614,8 @@ mpegtsmux_create_stream (MpegTsMux * mux, MpegTsPadData * ts_data)
st = TSMUX_ST_PS_AUDIO_LPCM;
} else if (strcmp (mt, "video/x-h264") == 0) {
st = TSMUX_ST_VIDEO_H264;
+ } else if (strcmp (mt, "video/x-h265") == 0) {
+ st = TSMUX_ST_VIDEO_HEVC;
} else if (strcmp (mt, "audio/mpeg") == 0) {
gint mpegversion;
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c
index 31fd196a9..74d011509 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.c
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.c
@@ -138,6 +138,7 @@ tsmux_stream_new (guint16 pid, TsMuxStreamType stream_type)
case TSMUX_ST_VIDEO_MPEG2:
case TSMUX_ST_VIDEO_MPEG4:
case TSMUX_ST_VIDEO_H264:
+ case TSMUX_ST_VIDEO_HEVC:
/* FIXME: Assign sequential IDs? */
stream->id = 0xE0;
stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.h b/gst/mpegtsmux/tsmux/tsmuxstream.h
index 26fe207d1..73b2a8812 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.h
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.h
@@ -133,6 +133,7 @@ enum TsMuxStreamType {
TSMUX_ST_AUDIO_AAC = 0x0f,
TSMUX_ST_VIDEO_MPEG4 = 0x10,
TSMUX_ST_VIDEO_H264 = 0x1b,
+ TSMUX_ST_VIDEO_HEVC = 0x24,
/* private stream types */
TSMUX_ST_PS_AUDIO_AC3 = 0x81,