Synchronising buffer for eye-tracking glasses
maxim.pavliv at epfl.ch
Wed Dec 11 23:24:08 UTC 2019
I am new to Gstreamer, and I am trying to adapt a code using Gstreamer 0.1 to 1.0. The code is a synchronizing buffer for eye-tracking glasses (written in python).
The code basically receives raw data (images and eye-tracking datapoints) from the glasses, and when a frame is decoded, the synchroniser finds the corresponding eye-tracking datapoint (the nearest in time), and publishes both to a ROS topic.
In the version using Gstreamer 0.1, the _decoded_buffer callback function received a buffer containing the image, its offset, and a timestamp. This timestamp is not directly usable to find the corresponding eye-tracking datapoint because they use different timeframes, but an other callback function received "offset" - "pts" pairs, and the glasses also send "pts" - "eye tracking timestamps" pairs, so the code found the corresponding eye-tracking datapoint the following way: for each decoded image it found the "pts" corresponding to the image's offset, and then found the eye-tracking timestamp corresponding to the "pts" of the image.
The Gstreamer 1.0 returns buffers with invalid "offset" values "GstBufferOffsetNone", so now I don't know how to find the eye-tracking datapoint that matches the image. I would need either the "offset" or the "pts", something that I can use to find the nearest eye-tracking datapoint timestamp.
I am a newbie with Gstreamer, and would be thankful for any help.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel