-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed Caption (CEA-608) tracks do not respect track definition of HLS Master Playlist. #3033
Labels
Comments
Thanks for the detailed report. We'll push a fix for this shortly. |
ojw28
added a commit
that referenced
this issue
Jul 12, 2017
Issue: #3033 ------------- Created by MOE: https:/google/moe MOE_MIGRATED_REVID=161512537
ojw28
added a commit
that referenced
this issue
Jul 19, 2017
Issue: #3033 ------------- Created by MOE: https:/google/moe MOE_MIGRATED_REVID=161512537
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Issue description
Closed Caption (CEA-608) tracks do not respect track definition of HLS Master Playlist.
CEA-608 tracks are parsed correctly from the Master Playlist, but SeiExtractor does not seem to use the extracted ID, rather it generates new ones for the Closed Caption tracks extracted from the chunks.
This results in
ExoPlayer.EventListener.onTracksChanged
reporting back a CC track with generated id.The expected behaviour would be to have the same name reported back that the MasterPlaylist contains.
For example, given an HLS playlist with Closed Caption track:
onTracksChanged
will have something like this:The id in this case should be "English".
Reproduction steps
Open any HLS stream that has a CEA-608 track defined in its Master Playlist (and has CC in the h264 stream), wait for
ExoPlayer.EventListener.onTracksChanged
callback and print out the results.Compare the
id
of the CEA-608 track with the playlist.Link to test content
Copied from ExoPlayer's
media.exolist.json
:Apple master playlist advanced (TS): https://tungsten.aaplimg.com/VOD/bipbop_adv_example_v2/master.m3u8
Version of ExoPlayer being used
Tested on:
r2.4.1
dev-v2: 7524228
This was working in r2.2.0.
Device(s) and version(s) of Android being used
Samsung Galaxy S3 (GT-I9300), Android 4.3
Sony Xperia X (F5121), Android 7.1.1
I don't think this is a device specific issue.
Further info
I debugged the ExoPlayer demo app and found that
HlsPlaylistParser.java
correctly parses the CC track.Later when
DefaultTsPayloadReaderFactory.buildSeiReader(EsInfo)
is called the flagFLAG_OVERRIDE_CAPTION_DESCRIPTORS
is set. A newSeiReader
is built with the parsed closed caption formats.SeiReader.createTracks(ExtractorOutput, TrackIdGenerator)
however does not seem to use theid
of theclosedCatpionFormats
provided at instantiation, rather it generates a new one.I made the following changes, and it seems to fix the issue. But I'm not sure if this is the correct approach or if I'm breaking some other functionality somewhere else.
A full bug report captured from the device
A full bug report is not provided, as I'm not sure it would be useful. Please tell me if you need one.
The text was updated successfully, but these errors were encountered: