From e6ff71f8e77eb50fbdd42d7e499537e928d5a830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Wed, 20 Jan 2021 11:46:17 +0100 Subject: [PATCH] assrender: Fix mimetype detection Previously gst_structure_has_name was used to get a string to compare with supported mimetypes. This is incorrect as above function returns a user defined structure name which is not the structure mimetype value. Part-of: --- .../gst-plugins-bad/ext/assrender/gstassrender.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/subprojects/gst-plugins-bad/ext/assrender/gstassrender.c b/subprojects/gst-plugins-bad/ext/assrender/gstassrender.c index 175fc06c7d..64c796e482 100644 --- a/subprojects/gst-plugins-bad/ext/assrender/gstassrender.c +++ b/subprojects/gst-plugins-bad/ext/assrender/gstassrender.c @@ -1564,7 +1564,7 @@ gst_ass_render_handle_tag_sample (GstAssRender * render, GstSample * sample) const GstStructure *structure; gboolean valid_mimetype, valid_extension; guint i; - const gchar *filename; + const gchar *mimetype, *filename; buf = gst_sample_get_buffer (sample); structure = gst_sample_get_info (sample); @@ -1575,10 +1575,13 @@ gst_ass_render_handle_tag_sample (GstAssRender * render, GstSample * sample) valid_mimetype = FALSE; valid_extension = FALSE; - for (i = 0; i < G_N_ELEMENTS (mimetypes); i++) { - if (gst_structure_has_name (structure, mimetypes[i])) { - valid_mimetype = TRUE; - break; + mimetype = gst_structure_get_string (structure, "mimetype"); + if (mimetype) { + for (i = 0; i < G_N_ELEMENTS (mimetypes); i++) { + if (strcmp (mimetype, mimetypes[i]) == 0) { + valid_mimetype = TRUE; + break; + } } }