Skip to content

add add-reference-timestamp-meta to aravissrc#1077

Open
danrs wants to merge 1 commit into
AravisProject:mainfrom
greenroom-robotics:add-reference-timestamp-meta
Open

add add-reference-timestamp-meta to aravissrc#1077
danrs wants to merge 1 commit into
AravisProject:mainfrom
greenroom-robotics:add-reference-timestamp-meta

Conversation

@danrs

@danrs danrs commented Jun 8, 2026

Copy link
Copy Markdown

Add add-reference-timestamp-meta property, mirroring the property of the same name on rtspsrc. When enabled, each buffer gets a GstReferenceTimestampMeta with reference caps "timestamp/x-ptp", carrying the unmodified device timestamp. Buffers without a device timestamp (zero) get no meta.

The property defaults to FALSE, as devices with unsynchronized clocks will not provide absolute time

Add add-reference-timestamp-meta property, mirroring the
property of the same name on rtspsrc. When enabled, each buffer gets a
GstReferenceTimestampMeta with reference caps "timestamp/x-ptp",
carrying the unmodified device timestamp. Buffers without a device
timestamp (zero) get no meta.

The property defaults to FALSE, as devices with unsynchronized clocks
will not provide absolute time
@EmmanuelP

Copy link
Copy Markdown
Contributor

Hi,

Thanks for the pull request. Could you explain the use case ?

My current comprehension is when you know a camera is ptp synchronized, you enable this feature that will add an additional caps to every gstreamer buffer using the aravis buffer timestamp field. Would it not possible to detect a camera is ptp configured and add the additional caps automatically ?

@EmmanuelP EmmanuelP added 5. Gstreamer Issue in GStreamer plugin 2. Needs informations Needs additional informations labels Jun 8, 2026
@danrs

danrs commented Jun 8, 2026

Copy link
Copy Markdown
Author

I'm after high-accuracy frame-capture timestamps on my video frames. My cameras sync to PTP, but the PTP stamp is not propagated into the pipeline.

Your reading is correct, enabling this setting adds the ptp caps to every buffer. I have downstream consumers that make use of the timestamp.

I've kept the toggle as a manual (default false) setting to match rtspsrc. Furthermore, the user needs to configure PTP manually on the camera anyway, so auto-enable in the pipeline is of negligible benefit.

If it were to be done automatically, we'd be looking at:

  • A blocking register read on the streaming thread (or adding a thread/timer)
  • different behaviour to the existing reference timestamp property on rtspsrc
  • a lookup table for PtpStatus property name/value on cameras from different manufacturers (eg. legacy cameras use GevIEEE1588Status with SLAVE, MASTER)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. Needs informations Needs additional informations 5. Gstreamer Issue in GStreamer plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants