rtponviftimestamp: Update ntp-offset and d/e-bits with a GstEvent
authorLinus Svensson <linussn@axis.com>
Fri, 6 Nov 2015 08:44:57 +0000 (09:44 +0100)
committerOlivier CrĂȘte <olivier.crete@collabora.com>
Fri, 6 Nov 2015 17:55:25 +0000 (12:55 -0500)
commit6f6fe37ed995f4631859414a08e15f35858d29c9
tree1da03d5fde06e0c86ee4f8907526571469915950
parenta58826292eab80e83b9de525753895e56410e301
rtponviftimestamp: Update ntp-offset and d/e-bits with a GstEvent

It is now possible to update the currently used ntp-offset with a
custom serialized downstream event. The element will read the ntp-offset
property when doing the state transition from READY to PAUSED and
use that offset until it receives a "GstNtpOffset" event, which also
has a "ntp-offset" attribute in that it's structure. In case the
property is not set and no event has been received, the element will
guess the npt-offset with help of the clock. If no clock can be
retrieved, the element will error out and stop the data flow.

The same event is also used for updating the D/E-bits in the RTP
extension header. The discont flag in a buffer can be set whenver a
live/network source looses a frame, but that is not the type of
discontinuity that the onvif extension header should reflect. The
header is mainly used for playback of a track concept, in which
gaps can be present, and it's those kind of gaps that should be
highlighted with the D- and E-bits.

https://bugzilla.gnome.org/show_bug.cgi?id=757688
gst/onvif/gstrtponviftimestamp.c
gst/onvif/gstrtponviftimestamp.h
tests/check/elements/rtponviftimestamp.c