diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2013-08-30 12:48:26 +0200 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-08-30 12:48:26 +0200 |
commit | f701b4a0280117262c33cf2ecefe80c9c4adb82f (patch) | |
tree | 2651f942c439b75f8726044e7c9127b5180b17ff /gst/rtp/gstrtpvp8depay.c | |
parent | 48c8ea2cb8e8c93afdad5391c2390d259e7be9aa (diff) | |
parent | 2f8f5e126036fe1cf32634bdd692888e5518e2b7 (diff) |
Merge tag 'upstream/1.1.4' into debian-experimental
Upstream version 1.1.4
Diffstat (limited to 'gst/rtp/gstrtpvp8depay.c')
-rw-r--r-- | gst/rtp/gstrtpvp8depay.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gst/rtp/gstrtpvp8depay.c b/gst/rtp/gstrtpvp8depay.c index 2d46f5e0..7cc4504a 100644 --- a/gst/rtp/gstrtpvp8depay.c +++ b/gst/rtp/gstrtpvp8depay.c @@ -164,12 +164,23 @@ gst_rtp_vp8_depay_process (GstRTPBaseDepayload * depay, GstBuffer * buf) /* Marker indicates that it was the last rtp packet for this frame */ if (gst_rtp_buffer_get_marker (&rtpbuffer)) { GstBuffer *out; + guint8 flag0; + + gst_adapter_copy (self->adapter, &flag0, 0, 1); out = gst_adapter_take_buffer (self->adapter, gst_adapter_available (self->adapter)); self->started = FALSE; gst_rtp_buffer_unmap (&rtpbuffer); + + /* mark keyframes */ + out = gst_buffer_make_writable (out); + if ((flag0 & 0x01)) + GST_BUFFER_FLAG_SET (out, GST_BUFFER_FLAG_DELTA_UNIT); + else + GST_BUFFER_FLAG_UNSET (out, GST_BUFFER_FLAG_DELTA_UNIT); + return out; } |