From 5506dc307603c7b078a4d6b97305aae9785428a6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 6 Jan 2014 14:54:46 +0100 Subject: [PATCH] matroskamux: Add HEVC / h265 support --- gst/matroska/matroska-mux.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 262d0e1..a8167db 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -103,6 +103,8 @@ static GstStaticPadTemplate videosink_templ = COMMON_VIDEO_CAPS "; " "video/x-h264, stream-format=avc, alignment=au, " COMMON_VIDEO_CAPS "; " + "video/x-h265, stream-format=hvc1, alignment=au, " + COMMON_VIDEO_CAPS "; " "video/x-divx, " COMMON_VIDEO_CAPS "; " "video/x-huffyuv, " @@ -1119,6 +1121,16 @@ skip_details: context->codec_priv = g_malloc0 (context->codec_priv_size); gst_buffer_extract (codec_buf, 0, context->codec_priv, -1); } + } else if (!strcmp (mimetype, "video/x-h265")) { + gst_matroska_mux_set_codec_id (context, + GST_MATROSKA_CODEC_ID_VIDEO_MPEGH_HEVC); + gst_matroska_mux_free_codec_priv (context); + /* Create hvcC header */ + if (codec_buf != NULL) { + context->codec_priv_size = gst_buffer_get_size (codec_buf); + context->codec_priv = g_malloc0 (context->codec_priv_size); + gst_buffer_extract (codec_buf, 0, context->codec_priv, -1); + } } else if (!strcmp (mimetype, "video/x-theora")) { const GValue *streamheader; -- 2.7.4