Hello
We noticed that the orin hardware encoder does not react when Chrome sends NACK via webrtc to force sending back key unit events. When digging further we discussed with gstreamer maintainers and they told us that:
GStreamer’s RTP stack (rtpsession/rtpbin) will handle PLI (Picture Loss Indication) and FIR (Full Intra Refresh) requests from the receiver (Chrome browser) and convert them into GstForceKeyUnit events (Forcing keyframes). It is these force key unit events that an encoder is expected to handle. However, the nvv4l2*enc family of elements have never supported this interface and instead have a dedicated action signal ‘force-IDR’ for this purpose. webrtcsink (and many applications) contain a workaround for this: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/blob/main/net/webrtc/src/webrtcsink/imp.rs?ref_type=heads#L694.
Can you please implement also handling this event name in the encoders closed source so we can only send those key frames only when needed (on lost packets)?
Thank you in advance!
R