You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem is that it does not take into account the timing of the received control codes. There are contents that use the same control code multiple times consecutively, like the Sarnoff test streams required for FCC certification. Their content contains the following commands:
Note: According to the standard END_OF_CAPTION flips the visible and hidden caption buffers, so it should make the 2 lines repeatedly visible then hidden again: effectively blinking in this case.
The current implementation drops every second command of this content.
If the first transmission of a control code pair passes parity, it is acted upon within one video frame. If the next frame contains a perfect repeat of the same pair, the redundant code is ignored.
So the check should only drop control codes if they are in consecutive video frames immediately after each other.
The text was updated successfully, but these errors were encountered:
Reported in google#3860
For failing examples see the github link above.
[Problem]
We drop matching control codes even if they are not received on
consecutive frames.
The specification says
"(4) If the first transmission of a control code pair passes parity,
it is acted upon within one video frame. If the NEXT frame contains
a perfect repeat of the same pair, the redundant code is ignored."
Keyword is the NEXT. The frames must arrive immediately after
each other.
See https://www.law.cornell.edu/cfr/text/47/79.101
[Solution]
Set an additional flag when any data is processed. Control code
duplication checks should be limited only for the first control
byte pairs processed after any control code.
[Test]
Sarnoff tests have equivalent CEA708 and CEA608 Streams.
Starting at this line the code checks if a CEA608 control code was repeated:
ExoPlayer/library/core/src/main/java/com/google/android/exoplayer2/text/cea/Cea608Decoder.java
Line 339 in 2b20780
The problem is that it does not take into account the timing of the received control codes. There are contents that use the same control code multiple times consecutively, like the Sarnoff test streams required for FCC certification. Their content contains the following commands:
Note: According to the standard END_OF_CAPTION flips the visible and hidden caption buffers, so it should make the 2 lines repeatedly visible then hidden again: effectively blinking in this case.
The current implementation drops every second command of this content.
According to https://www.law.cornell.edu/cfr/text/47/79.101
So the check should only drop control codes if they are in consecutive video frames immediately after each other.
The text was updated successfully, but these errors were encountered: