flvdemux: Don't replace video codec data when we receive a PAR
authorVivia Nikolaidou <vivia@ahiru.eu>
Mon, 16 Dec 2019 16:43:44 +0000 (18:43 +0200)
committerVivia Nikolaidou <vivia@ahiru.eu>
Mon, 16 Dec 2019 21:51:38 +0000 (21:51 +0000)
Receiving a pixel-aspect-ratio should trigger a caps change, but not
replace the existing video codec tag

gst/flv/gstflvdemux.c

index 5f94cc5..9342ca1 100644 (file)
@@ -1630,8 +1630,9 @@ gst_flv_demux_parse_tag_video (GstFlvDemux * demux, GstBuffer * buffer)
 
   /* Check if caps have changed */
   if (G_UNLIKELY (codec_tag != demux->video_codec_tag || demux->got_par)) {
-    GST_DEBUG_OBJECT (demux, "video settings have changed, changing caps");
-    gst_buffer_replace (&demux->video_codec_data, NULL);
+    GST_ERROR_OBJECT (demux, "video settings have changed, changing caps");
+    if (codec_tag != demux->video_codec_tag)
+      gst_buffer_replace (&demux->video_codec_data, NULL);
 
     if (!gst_flv_demux_video_negotiate (demux, codec_tag)) {
       ret = GST_FLOW_ERROR;