I’m trying to use rtpulpfec to recover lost packets. However, it doesn’t do its job. It recovers very few packets and lots of packets are lost.
Here is the log
rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (incoming) : [ ] ssrc=0xf3ae36b0 pt=96 tstamp=3915064590 seq=20432 size=1400(1388,1388)
rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (incoming) : [M ] ssrc=0xf3ae36b0 pt=96 tstamp=3915064590 seq=20433 size=991(979,979)
rtpulpfecdec rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (fec) : [ ] ssrc=0xf3ae36b0 pt=122 tstamp=3915064590 seq=20434 size=1414(1402,1402)
rtpulpfecdec rtpulpfeccommon.c:427:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec header : [ ] pt=0 tstamp=0 seq=20386 recovery_len=0
rtpulpfecdec rtpulpfeccommon.c:443:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec level header : protection_len=1388 mask=0xf00000000000
rtpulpfecdec rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (fec) : [ ] ssrc=0xf3ae36b0 pt=122 tstamp=3915064590 seq=20435 size=1414(1402,1402)
rtpulpfecdec rtpulpfeccommon.c:427:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec header : [ ] pt=96 tstamp=3915064590 seq=20389 recovery_len=1388
rtpulpfecdec rtpulpfeccommon.c:443:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec level header : protection_len=1388 mask=0xf80000000000
rtpulpfecdec rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (fec) : [ ] ssrc=0xf3ae36b0 pt=122 tstamp=3915064590 seq=20436 size=1414(1402,1402)
rtpulpfecdec rtpulpfeccommon.c:427:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec header : [ ] pt=96 tstamp=3915064590 seq=20393 recovery_len=1388
rtpulpfecdec rtpulpfeccommon.c:443:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec level header : protection_len=1388 mask=0xf80000000000
rtpulpfecdec rtpulpfeccommon.c:401:rtp_ulpfec_log_rtppacket:<rtpulpfecdec0> rtp header (fec) : [ ] ssrc=0xf3ae36b0 pt=122 tstamp=3915064590 seq=20437 size=1414(1402,1402)
rtpulpfecdec rtpulpfeccommon.c:427:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec header : [ ] pt=0 tstamp=0 seq=20397 recovery_len=0
rtpulpfecdec rtpulpfeccommon.c:443:rtp_ulpfec_log_fec_packet:<rtpulpfecdec0> fec level header : protection_len=1388 mask=0xf00000000000
I observe that, for some fec packets, their tstamp (and pt, recovery_len) are zeros, and the mask is also different from others. I wonder if this is normal.