GstInterpipe - Timestamp Synchronization

From RidgeRun Developer Wiki




Previous: Event Forwarding Index Next: New Node Notification




This page contains a detailed description of the GstInterpipe Timestamp Synchronization feature.


The transferred buffers will go through two (or more) different pipelines. Each pipeline will have its own base time and, hence, the buffer timestamp will have a different meanings in each one. This can induce problems in pipelines where synchronization is required. To solve this problem, the buffer timestamp is compensated taking into account the combination of the base times. The result is an equivalent relative buffer time. This feature, however, can be disabled if desired by setting the stream-sync property. The following table shows the property:

Property
Element interpipesrc
Name stream-sync
Description Adjust buffer timestamps in order to achieve equivalent buffer times
Table 1. Interpipesrc "stream-sync" property description

Description of valid values in the stream-sync property.

stream-sync
restart-ts The timestamp is set according to the base time in the interpipesrc element
passthrough-ts The timestamp compensation is disabled
compensate-ts The buffer's timestamp is compensated according to the base time on the interpipesrc element
Table 2. Valid values for "stream-sync" property

The following image exemplifies the potential synchronization problems.

Timestamp synchronization



Previous: Event Forwarding Index Next: New Node Notification