rtph264pay: Fixes buffer leak when using SPS/PPS
authorPatrick Radizi <patrickr@axis.com>
Mon, 8 Dec 2014 20:26:18 +0000 (21:26 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 9 Dec 2014 08:47:23 +0000 (09:47 +0100)
Fixes a buffer leak that would occurr if the pipeline was shutdown
while a SPS/PPS header was being created.

https://bugzilla.gnome.org/show_bug.cgi?id=741271

gst/rtp/gstrtph264pay.c

index da3faf4..8590d99 100644 (file)
@@ -835,8 +835,10 @@ gst_rtp_h264_pay_payload_nal (GstRTPBasePayload * basepayload,
      * checking when we need to send SPS/PPS but convert to running_time first. */
     rtph264pay->send_spspps = FALSE;
     ret = gst_rtp_h264_pay_send_sps_pps (basepayload, rtph264pay, dts, pts);
-    if (ret != GST_FLOW_OK)
+    if (ret != GST_FLOW_OK) {
+      gst_buffer_unref (paybuf);
       return ret;
+    }
   }
 
   packet_len = gst_rtp_buffer_calc_packet_len (size, 0, 0);