diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 262d0e19b6..a8167db972 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;