From 9857e6af4d2903d034a3ba11525f8a24d2bbb8b5 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 2 Nov 2012 18:47:26 +0000 Subject: [PATCH] vrawdepay: don't access rtp buffer after unmap Read the marker bit before we unmap the rtp packet. --- gst/rtp/gstrtpvrawdepay.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/rtp/gstrtpvrawdepay.c b/gst/rtp/gstrtpvrawdepay.c index 8b146bfe69..2561886d7a 100644 --- a/gst/rtp/gstrtpvrawdepay.c +++ b/gst/rtp/gstrtpvrawdepay.c @@ -301,6 +301,7 @@ gst_rtp_vraw_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf) gint width, height, xinc, yinc; GstRTPBuffer rtp = { NULL }; GstVideoFrame frame; + gboolean marker; rtpvrawdepay = GST_RTP_VRAW_DEPAY (depayload); @@ -523,9 +524,10 @@ gst_rtp_vraw_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf) } gst_video_frame_unmap (&frame); + marker = gst_rtp_buffer_get_marker (&rtp); gst_rtp_buffer_unmap (&rtp); - if (gst_rtp_buffer_get_marker (&rtp)) { + if (marker) { GST_LOG_OBJECT (depayload, "marker, flushing frame"); if (rtpvrawdepay->outbuf) { gst_rtp_base_depayload_push (depayload, rtpvrawdepay->outbuf);