summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Craig <dcraig@brightsign.biz>2016-02-23 18:12:54 +0200
committerSebastian Dröge <sebastian@centricular.com>2016-02-23 18:12:54 +0200
commit9b2e1f9f360756e65cf137d3ef0f119bb73508c6 (patch)
tree13e977256e2617af2b597872fde6dbb7baeaca61
parent211c8492b35d1e58033d9104ec8b52d497f475fb (diff)
downloadgstreamer-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.c7
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