followup: Webrtcbin: perfectly timestamped transmission of A/V file source

Philipp B philippb.ontour at
Sat Mar 12 20:54:22 UTC 2022

(this is a follow-up of my lengthy mail sent earlier)

It seems I do get perfect timestamps by re-writing with "identity
datarate=" like this:

multifilesrc location=... index=0 ! queue ! decodebin name=decbin  ! queue  !
audioconvert ! audioresample ! audio/x-raw,channels=2,rate=48000 !
identity datarate=192000 ! opusenc bitrate=128000 frame-size=10 !
queue ! identity sync=true ! rtpopuspay pt=97 ! webrtcbin

As I mentioned already, now I wonder how to sync video frames back to
the re-timestamped audio. My current guess about the easiest way to do

- prior to identity datarate=..., copy the original timestamp into Metadata
- after identity datarate=..., read the original timestamp from
Metadata, and store it with new timestamp in an appropriate structure
for timestamp mapping.
- in the video pipe, convert timestamps on that mapping

I guess, I need to implement custom elements for this, right? Should I
use GstReferenceTimestampMeta for this, or are these meta timestamps
already used by standard elements? Is there already something in
gstreamer to map timestamps from one domain to another, which I can
build on?


More information about the gstreamer-devel mailing list