WebRTC: Support of Receiver Reference Time for non-sending (browser) peers
Hey there!
Thanks for your work implementing WebRTC support for the gstreamer stack!
I'm a gst apprentice (is that a thing?), so it's very probable that I missed something obvious. Now to my use case:
Native process running a gstreamer pipeline, basically: appsrc ! webrtcsink
.
I'm using the net/webrtc/protocol
to signal the connection with a browser (Chrome) peer/"client".
I'm looking to compute/extract the sender's wall clock from an individual frame in the browser using the HTMLVideoElement.requestVideoFrameCallback()
API; unfortunately the (optional) captureTime
field is undefined.
According to this, one can enable Receiver Reference Time Reports by munging the (answer's) SDP (include attribute a=rtcp-fb:[payload] rrtr
for each payload), and thus populate the captureTime
field.
Unfortunately this is not working for me. I'm overwhelmed by the huge machineries involved (gst & chrome), so before debugging this further: Should this even work?
Background: I'm looking to synchronize individual video frames with metadata sent over a datachannel. The sender's wall-clock timestamp should serve as the common key to match the pair in the browser. So far I have been manually calculating the sender's wall-clock from gst Sender Reports (also sent via the same data channel periodically), but I'm looking for a better way ..