According to RFC4585:
If R's FB message(s) was not suppressed by other receiver FB messages as per 5, when te is reached, R MUST transmit the (minimal) compound RTCP packet containing its FB message(s). R then MUST set allow_early = FALSE, MUST recalculate tn = tp + 2*T_rr, and MUST set tp to the previous tn. As soon as the newly calculated tn is reached, regardless whether R sends its next Regular RTCP packet or suppresses it because of T_rr_interval, it MUST set allow_early = TRUE again.
suppose that an early RTCP packet is transmitted at time t1'
t1---t1'------t2------------t3
and t1, t2, t3 are the times at which regular RTCP packets would be sent. The RFC is suggesting that if a packet is sent at time t1', the RTCP packet at time t2 is dropped and no feedback messages are allowed until t3.
However, later on in the same RFC it is said that
Full compound RTCP packets MUST be sent in regular intervals. These
packets MAY also contain one or more FB messages. Transmission of
Regular RTCP packets is scheduled as follows:If T_rr_interval == 0, then the transmission MUST follow the rules as specified in Sections 3.2 and 3.4 of this document and MUST adhere to the adjustments of tn specified in Section 3.5.2 (i.e., skip one regular transmission if an Early RTCP packet transmission has occurred). Timer reconsideration takes place when tn is reached as per [1]. The Regular RTCP packet is transmitted after timer reconsideration. Whenever a Regular RTCP packet is sent or
suppressed, allow_early MUST be set to TRUE and tp, tn MUST be
updated as per [1]. After the first transmission of a Regular RTCP
packet, Tmin MUST be set to 0.
This seems to be contradictory, because the paragraph is saying that when an RTCP packet is suppressed, allow_early must be set to TRUE, so it seems that allow_early should be set to TRUE at time t2.