Hello,
as some of you know, Chrome sometimes does not retransmit some lost RTP VP8 packets when asked by NACKs.
This is typically done because, at receiver side, Chrome is able to skip unneeded RTP packets / VP8 frames to decode in order to reduce latency.
The sender obviously knows which packets are not needed and it decides to not retransmit them on some network conditions: latency, bandwidth available, etc.
The packets not retransmitted are typically: padding RTP packets used to probe bandwidth and RTP packets of higher temporal layers (enabled on simulcast).
IMO, the sender should not apply this logic and should retransmit whatever packet it is asked in order to ease other receiver implementations different from Chrome/libwebrtc.
Unfortunately, it does not work as I wanted so I am implementing an RTP VP8 depayloader being able to properly handle cases where some lost RTP packets are not retransmitted.
I did not found any problem handling missed padding RTP packets, but yes missed packets belonging to Temporal Layer 2.
The implementation is based on [1] and other docs telling the same info, related to the next image (except red arrows) where the black arrows are the dependency between frames to be respected in order to not having problems on decoding.
--
---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/66c8e6c2-ba7d-42bf-9d0f-6a4fb3a5c124%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/e2450da5-3cf4-4203-8fe8-ffcf4bab77bf%40googlegroups.com.