diff options
author | Dave Craig <dcraig@brightsign.biz> | 2016-02-23 18:12:54 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-02-23 18:12:54 +0200 |
commit | 9b2e1f9f360756e65cf137d3ef0f119bb73508c6 (patch) | |
tree | 13e977256e2617af2b597872fde6dbb7baeaca61 | |
parent | 211c8492b35d1e58033d9104ec8b52d497f475fb (diff) | |
download | gstreamer-plugins-good-9b2e1f9f360756e65cf137d3ef0f119bb73508c6.tar.gz |
rtph265depay: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
-rw-r--r-- | gst/rtp/gstrtph265depay.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gst/rtp/gstrtph265depay.c b/gst/rtp/gstrtph265depay.c index 2bee80bde..eb0c2b7f7 100644 --- a/gst/rtp/gstrtph265depay.c +++ b/gst/rtp/gstrtph265depay.c @@ -296,6 +296,7 @@ static gboolean gst_rtp_h265_set_src_caps (GstRtpH265Depay * rtph265depay) { gboolean res; + GstCaps *old_caps; GstCaps *srccaps; if (!rtph265depay->byte_stream && @@ -507,9 +508,9 @@ gst_rtp_h265_set_src_caps (GstRtpH265Depay * rtph265depay) gst_buffer_unref (codec_data); } - if (gst_pad_has_current_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay))) { - GstCaps *old_caps = - gst_pad_get_current_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay)); + old_caps = + gst_pad_get_current_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay)); + if (old_caps != NULL) { /* Only update the caps if they are not equal. For * AVC we don't update caps if only the codec_data |