media/library
ibaker 6b3bec8618 Fix Cea608Decoder handling of service switch commands in field 2
From ANSI-CTA-608-E R-2014 section 8.4:
> When closed captioning is used on line 21, field 2, it shall conform
> to all of the applicable specifications and recommended practices as
> defined for field 1 services with the following differences:
> 1. The non-printing character of the miscellaneous control-character
>    pairs that fall in the range of 0x14, 0x20 to 0x14, 0x2F in field 1,
>    shall be replaced with 0x15, 0x20 to 0x15, 0x2F when used in field
>    2.
> 2. The non-printing character of the miscellaneous control-character
>    pairs that fall in the range of 0x1C, 0x20 to 0x1C, 0x2F in field
>    1, shall be replaced with 0x1D, 0x20 to 0x1D, 0x2F when used in
>    field 2.

This basically means that `cc1=0x15` in field 2 should be interpreted as
`cc1=0x14` in field 1, and same for `0x1D -> 0x1C`.

The `isMiscCode`  method above already handles this by ignoring the LSB
(the only difference between `0x14` and `0x15`, and `0x1C` and `0x1D`)
by AND-ing with `0xF6` instead of `0xF7`. This change uses the same
trick in `isServiceSwitchCommand`.

Issue: google/ExoPlayer#10666
#minor-release
PiperOrigin-RevId: 483927506
(cherry picked from commit 7c6d492ff1)
2022-10-26 11:09:04 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Move DefaultAudioSink.AudioProcessorChain to AudioProcessorChain 2022-10-25 18:31:22 +00:00
core Move DefaultAudioSink.AudioProcessorChain to AudioProcessorChain 2022-10-25 18:31:22 +00:00
dash Fix 3 ErrorProneStyle findings: 2022-08-31 08:29:19 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Fix instrumentation tests not working via Gradle 2022-09-20 15:25:38 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Add GL utility methods to get 4x4 identity and set identity 2022-10-25 14:47:52 +00:00
extractor Fix Cea608Decoder handling of service switch commands in field 2 2022-10-26 11:09:04 +00:00
hls Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 16:24:07 +01:00
rtsp Merge pull request #162 from ittiam-systems:rtp-mp4a-latm 2022-10-24 10:55:19 +00:00
smoothstreaming Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-21 16:24:07 +01:00
transformer Move AudioProcessor to common. 2022-10-25 16:40:38 +00:00
ui Remove ForwardingPlayer special case from PlayerControlView.setPlayer 2022-10-19 10:40:06 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.