Skip to content

CEA-608 caption stuck on screen for several minutes #7181

@sneelavara

Description

@sneelavara

Issue description

Summary

CEA-608 caption stuck on screen for several minutes (mostly during commercial breaks)

Root Cause

On certain Live TV channels the Caption from Live TV program stays on screen throughout the commercial. The commercials in such case don’t have the caption. But the the outdated caption from the program stays on screen.

The root cause is that the caption provider is not inserting the control words such as End_Of_Caption(EOC 14 2F), Erase_Displayed_Memory(EDM 14 2C), Eras_NonDisplay_Memory(ENM 14 2E) on CEA-608 caption services. Since the commercials don’t have caption, the previously displayed captions are not erased.

CEA-608 spec Annex C.9 recommends Automatic Caption Erasure (Preferred). FCC rules describe events, other than reception of commands intended to erase, which trigger the erasure of caption display and memory. These include the viewer switching receiver channel, data channel, or the selected field; loss of valid data; or the viewer selecting a non-captioning receiver function.
CEA-608 Annex C.9 prefers If no data are received for the selected caption channel within a given time, the decoder should automatically erase the caption. Such erasure may supersede the intentions of the caption service providers and institute one maximum display time for all captioning services. If such a timeout is deemed necessary, however, the time limit should be no less than 16 seconds.

Proposed Solution

Pull request is in progress. We propose adding a check in Decoder.dequeueOutputBuffer() that will track the time since the last erasure control word was processed and if it exceeds the 16 second time out, generate an erasure sequence (Cue?)

Reproduction steps

Using the sample HLS stream, play to the first commercial break 30 seconds into the stream. Observe the caption "A Nationwide ..." stays on the screen during the entire ad series

Link to test content

Content is broadcast from cable, so link was sent to exoplayer dev email

A full bug report captured from the device

N/A

Version of ExoPlayer being used

2.11.4

Device(s) and version(s) of Android being used

Tested and reproduced on Arris and Amino AndroidTV devices running Android Pie. Reproduction is 100%.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions