vrawdepay: return output buffer from process

Return the output buffer from the process function instead of pushing
it ourselves. This way, the subclass can actually deal with the return
value of the push.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693727
This commit is contained in:
Wim Taymans 2013-04-24 16:24:25 +02:00
parent 0a7d4afc1b
commit 5ba3fd3c63

View file

@ -301,6 +301,7 @@ gst_rtp_vraw_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf)
GstRTPBuffer rtp = { NULL };
GstVideoFrame frame;
gboolean marker;
GstBuffer *outbuf = NULL;
rtpvrawdepay = GST_RTP_VRAW_DEPAY (depayload);
@ -528,13 +529,11 @@ gst_rtp_vraw_depay_process (GstRTPBaseDepayload * depayload, GstBuffer * buf)
if (marker) {
GST_LOG_OBJECT (depayload, "marker, flushing frame");
if (rtpvrawdepay->outbuf) {
gst_rtp_base_depayload_push (depayload, rtpvrawdepay->outbuf);
rtpvrawdepay->outbuf = NULL;
}
outbuf = rtpvrawdepay->outbuf;
rtpvrawdepay->outbuf = NULL;
rtpvrawdepay->timestamp = -1;
}
return NULL;
return outbuf;
/* ERRORS */
unknown_sampling: