rtpjpegpay: propagate the GST_BUFFER_FLAG_DISCONT flag

Propagate the DISCONT flag to the first RTP packet being used to transfer
a DISCONT buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=730563
This commit is contained in:
Guillaume Desmottes 2014-05-20 13:58:20 +02:00 committed by Wim Taymans
parent 460ab3dd76
commit 9a7479fb0d

View file

@ -688,6 +688,7 @@ gst_rtp_jpeg_pay_handle_buffer (GstRTPBasePayload * basepayload,
gboolean sos_found, sof_found, dqt_found, dri_found;
gint i;
GstBufferList *list = NULL;
gboolean discont;
pay = GST_RTP_JPEG_PAY (basepayload);
mtu = GST_RTP_BASE_PAYLOAD_MTU (pay);
@ -697,6 +698,7 @@ gst_rtp_jpeg_pay_handle_buffer (GstRTPBasePayload * basepayload,
size = map.size;
timestamp = GST_BUFFER_TIMESTAMP (buffer);
offset = 0;
discont = GST_BUFFER_IS_DISCONT (buffer);
GST_LOG_OBJECT (pay, "got buffer size %" G_GSIZE_FORMAT
" , timestamp %" GST_TIME_FORMAT, size, GST_TIME_ARGS (timestamp));
@ -895,6 +897,12 @@ gst_rtp_jpeg_pay_handle_buffer (GstRTPBasePayload * basepayload,
GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
if (discont) {
GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DISCONT);
/* Only the first outputted buffer has the DISCONT flag */
discont = FALSE;
}
/* and add to list */
gst_buffer_list_insert (list, -1, outbuf);