70731fe | Oliver Woodman | 17 September 2019, 01:24:54 UTC | Further tweaking of release notes | 17 September 2019, 01:24:54 UTC |
772b139 | Oliver Woodman | 17 September 2019, 01:09:09 UTC | Tweak release notes | 17 September 2019, 01:09:09 UTC |
1a4b1e1 | christosts | 23 August 2019, 17:48:14 UTC | Revert "Add HTTP request parameters (headers) to DataSpec." This reverts commit c3d6be3afdd7c0ca68dba15e443bc64aa3f61073. | 17 September 2019, 00:53:40 UTC |
26e2930 | Oliver Woodman | 10 September 2019, 16:43:21 UTC | Merge pull request #6158 from xirac:dev-v2 PiperOrigin-RevId: 268240722 | 17 September 2019, 00:51:50 UTC |
560c8c8 | tonihei | 24 July 2019, 10:05:27 UTC | Simplify and improve text selection logic. This changes the logic in the following ways: - If no preferred language is matched, prefer better scores for the selected audio language. - If a preferred language is matched, always prefer the better match irrespective of default or forced flags. - If a preferred language score and the isForced flag is the same, prefer tracks with a better selected audio language match. PiperOrigin-RevId: 259707430 | 17 September 2019, 00:33:38 UTC |
9bc4497 | Toni | 24 July 2019, 11:33:37 UTC | Merge pull request #6178 from xirac:feature/text-track-score PiperOrigin-RevId: 259707359 | 17 September 2019, 00:31:27 UTC |
06a374e | Oliver Woodman | 17 September 2019, 00:25:53 UTC | Clean up release notes | 17 September 2019, 00:25:53 UTC |
480f737 | olly | 13 September 2019, 12:46:02 UTC | Upgrade to OkHttp 3.12.5 Issue: #4078 PiperOrigin-RevId: 268887744 | 17 September 2019, 00:11:05 UTC |
4eda96d | bachinger | 12 September 2019, 13:41:47 UTC | disable seekbar in media style notification for live stream ISSUE: #6416 PiperOrigin-RevId: 268673895 | 17 September 2019, 00:09:02 UTC |
23ddfaa | olly | 10 September 2019, 16:42:15 UTC | Add fLaC prefix to FLAC initialization data The fLaC prefix is included in the initialization data output from the MKV extractor, so this is highly likely ot be the right thing to do. Issue: #6397 PiperOrigin-RevId: 268244365 | 17 September 2019, 00:08:39 UTC |
b9ffea6 | andrewlewis | 06 September 2019, 10:15:33 UTC | Fix decoder selection for E-AC3 JOC streams Issue: #6398 PiperOrigin-RevId: 267563795 | 17 September 2019, 00:08:06 UTC |
72aa150 | tonihei | 06 September 2019, 09:00:53 UTC | Handle potential timeline updates that switch from content to ad. We currently don't test if an ad needs to be played in case we are already playing content. This is to prevent recreating the current content period when an ad is marked as skipped. We prefer playing until the designated ad group position and appending another piece of content. This is less likely to cause visible discontinuities in case the ad group position is at a key frame boundary. However, this means we currently miss updates that require us to play an ad after a timeline update. PiperOrigin-RevId: 267553459 | 17 September 2019, 00:04:32 UTC |
5a516ba | andrewlewis | 06 September 2019, 06:54:35 UTC | Fix init data handling for FLAC in MP4 Issue: #6396 PiperOrigin-RevId: 267536336 | 17 September 2019, 00:04:24 UTC |
332afc9 | bachinger | 03 September 2019, 08:49:32 UTC | move transparency values of buttons to resources to make it accessible for customization PiperOrigin-RevId: 266880069 | 16 September 2019, 23:57:53 UTC |
c3f3b1b | aquilescanta | 02 September 2019, 17:28:20 UTC | Clarify LoadErrorHandlingPolicy's loadDurationMs javadocs PiperOrigin-RevId: 266797383 | 16 September 2019, 23:57:21 UTC |
c879bbf | bachinger | 02 September 2019, 17:05:18 UTC | move transparency of shuffle mode off button to bitmap PiperOrigin-RevId: 266795413 | 16 September 2019, 23:56:55 UTC |
525d032 | Oliver Woodman | 16 September 2019, 23:56:32 UTC | Fix exception message PiperOrigin-RevId: 266790267 | 16 September 2019, 23:56:32 UTC |
4712bcf | bachinger | 02 September 2019, 15:05:31 UTC | use isPlaying to determine which notification action to display in compact view PiperOrigin-RevId: 266782250 | 16 September 2019, 23:54:18 UTC |
284a672 | kimvde | 02 September 2019, 12:43:42 UTC | Bypass sniffing for single extractor Sniffing is performed in ProgressiveMediaPeriod even if a single extractor is provided. Skip it in that case to improve performances. Issue:#6325 PiperOrigin-RevId: 266766373 | 16 September 2019, 23:51:07 UTC |
fe422db | Oliver Woodman | 01 September 2019, 21:02:38 UTC | Merge pull request #6303 from ittiam-systems:rtmp-3.1.0 PiperOrigin-RevId: 266407058 | 02 September 2019, 13:43:00 UTC |
f05d67b | olly | 30 August 2019, 16:35:29 UTC | Simplify androidTest manifests & fix links to use https PiperOrigin-RevId: 266396506 | 02 September 2019, 13:39:02 UTC |
407dbf0 | olly | 29 August 2019, 20:41:19 UTC | Add HttpDataSource.getResponseCode to provide the status code associated with the most recent HTTP response. PiperOrigin-RevId: 266218104 | 02 September 2019, 13:38:24 UTC |
ad699b8 | olly | 27 August 2019, 12:28:07 UTC | seenCacheError should be set for all errors PiperOrigin-RevId: 265662686 | 02 September 2019, 13:37:40 UTC |
c3d6be3 | christosts | 23 August 2019, 17:48:14 UTC | Add HTTP request parameters (headers) to DataSpec. Adds HTTP request parameters in DataSpec. Keeps DataSpec behavior to be immutable as before. PiperOrigin-RevId: 265087782 | 02 September 2019, 13:37:24 UTC |
46bf710 | tonihei | 23 August 2019, 15:57:14 UTC | Do not compare bitrates of audio tracks with different languages. The last selection criteria is the audio bitrate to prefer higher-quality streams. We shouldn't apply this criterium though if the languages of the tracks are different. Issue:#6335 PiperOrigin-RevId: 265064756 | 02 September 2019, 13:37:12 UTC |
0085a7e | andrewlewis | 23 August 2019, 15:16:07 UTC | Defer adsManager.init until the timeline has loaded If the app seeks after we get an ads manager but before the player exposes the timeline with ads, we would end up expecting to play a preroll even after the seek request arrived. This caused the player to get stuck. Wait until a non-empty timeline has been exposed via onTimelineChanged before initializing IMA (at which point it can start polling the player position). Seek requests are not handled while an ad is playing. PiperOrigin-RevId: 265058325 | 02 September 2019, 13:36:21 UTC |
7cefb56 | olly | 23 August 2019, 08:57:26 UTC | Update comment to indicate correct int value of "FLAG_ALLOW_CACHE_FRAGMENTATION" in ExoPlayer2 upstream DataSpec Currently the value of FLAG_ALLOW_CACHE_FRAGMENTATION is defined as "1 << 4" but commented as "8". Either the value of FLAG_ALLOW_CACHE_FRAGMENTATION should be "1 << 3", or the comment should be 16. Here I am modifying the comment since it does not affect any current behavior. PiperOrigin-RevId: 265011839 | 02 September 2019, 13:36:05 UTC |
886fe91 | andrewlewis | 22 August 2019, 07:44:39 UTC | Avoid potential ArrayStoreException with audio processors The app is able to pass a more specialized array type, so the Arrays.copyOf call produces an array into which it's not valid to store arbitrary AudioProcessors. Create a new array and copy into it to avoid this problem. PiperOrigin-RevId: 264779164 | 02 September 2019, 13:35:52 UTC |
9e3bee8 | tonihei | 21 August 2019, 14:22:47 UTC | Prevent NPE in ImaAdsLoader onPositionDiscontinuity. Any seek before the first timeline becomes available will result in a NPE. Change it to handle that case gracefully. Issue:#5831 PiperOrigin-RevId: 264603061 | 02 September 2019, 13:35:33 UTC |
5b2b21d | andrewlewis | 20 August 2019, 07:40:44 UTC | Fix handling of delayed AdsLoader.start AdsMediaSource posts AdsLoader.start to the main thread during preparation, but the app may call AdsLoader.setPlayer(null) before it actually runs (e.g., if initializing then quickly backgrounding the player). This is valid usage of the API so handle this case instead of asserting. Because not calling setPlayer at all is a pitfall of the API, track whether setPlayer has been called and still assert that in AdsLoader.start. PiperOrigin-RevId: 264329632 | 02 September 2019, 13:35:14 UTC |
c60b355 | ibaker | 19 August 2019, 11:03:55 UTC | Add support for the AOM scheme_id for ID3-in-EMSG https://developer.apple.com/documentation/http_live_streaming/about_the_common_media_application_format_with_http_live_streaming PiperOrigin-RevId: 264126140 | 02 September 2019, 13:35:00 UTC |
47e0580 | ibaker | 16 August 2019, 14:40:43 UTC | Unwrap SCTE-35 messages in emsg boxes PiperOrigin-RevId: 263768428 | 02 September 2019, 13:34:35 UTC |
d3d192e | ibaker | 16 August 2019, 14:39:57 UTC | Extend EventMessage.toString to include durationMs This field is used in .equals(), so it makes sense to include it in toString() too. PiperOrigin-RevId: 263768329 | 02 September 2019, 13:34:30 UTC |
9ec346a | ibaker | 16 August 2019, 14:31:05 UTC | Modify EventMessageDecoder to return null if decoding fails (currently throws exceptions) This matches the documentation on MetadataDecoder.decode: "@return The decoded metadata object, or null if the metadata could not be decoded." PiperOrigin-RevId: 263767144 | 02 September 2019, 13:34:19 UTC |
08bb42d | Venkatarama NG. Avadhani | 16 August 2019, 05:07:48 UTC | Upgrade librtmp-client to 3.1.0 | 02 September 2019, 13:33:51 UTC |
5100e67 | ibaker | 15 August 2019, 11:09:48 UTC | Support unwrapping nested Metadata messages in MetadataRenderer Initially this supports ID3-in-EMSG, but can also be used to support SCTE35-in-EMSG too. PiperOrigin-RevId: 263535925 | 02 September 2019, 13:33:45 UTC |
2de1a20 | ibaker | 14 August 2019, 13:13:32 UTC | Add Metadata.toString that prints the contents of `entries` entries are used in .equals(), so it's good to have them printed in toString() too (for test failures) and it makes logging easier too. PiperOrigin-RevId: 263335503 | 02 September 2019, 13:33:26 UTC |
dcac4aa | ibaker | 14 August 2019, 13:12:51 UTC | Add description to TextInformationFrame.toString() output This field is used in .equals(), we should print it in toString() too PiperOrigin-RevId: 263335432 | 02 September 2019, 13:33:21 UTC |
90b62c6 | tonihei | 14 August 2019, 12:09:21 UTC | Change default video buffer size to 32MB. The current max video buffer is 13MB which is too small for high quality streams and doesn't allow the DefaultLoadControl to buffer up to its default max buffer time of 50 seconds. Also move util method and constants only used by DefaultLoadControl into this class. PiperOrigin-RevId: 263328088 | 02 September 2019, 13:33:14 UTC |
a381cbf | tonihei | 12 August 2019, 09:43:26 UTC | Make reset on network change the default. PiperOrigin-RevId: 262886490 | 02 September 2019, 13:32:54 UTC |
4656196 | andrewlewis | 09 August 2019, 07:33:42 UTC | Upgrade IMA dependency version PiperOrigin-RevId: 262511088 | 02 September 2019, 13:32:46 UTC |
921ff02 | olly | 08 August 2019, 15:56:57 UTC | Only read from FormatHolder when a format has been read I think we need to start clearing the holder as part of the DRM rework. When we do this, it'll only be valid to read from the holder immediately after it's been populated. PiperOrigin-RevId: 262362725 | 02 September 2019, 13:32:40 UTC |
a08b537 | ibaker | 07 August 2019, 14:56:25 UTC | Simplify EventMessageEncoder/Decoder serialization We're no longer tied to the emsg spec, so we can skip unused fields and assume ms for duration. Also remove @Nullable annotation from EventMessageEncoder#encode, it seems the current implementation never returns null PiperOrigin-RevId: 262135009 | 02 September 2019, 13:32:33 UTC |
bb6b0e1 | ibaker | 07 August 2019, 13:18:22 UTC | Expose a method on EventMessageDecoder that returns EventMessage directly PiperOrigin-RevId: 262121134 | 02 September 2019, 13:32:27 UTC |
acdb19e | tonihei | 07 August 2019, 10:36:41 UTC | Clean up documentation of DefaultTrackSelector.ParametersBuilder. We don't usually refer to other classes when documenting method parameters but rather duplicate the actual definition. PiperOrigin-RevId: 262102714 | 02 September 2019, 13:32:21 UTC |
c4ac166 | tonihei | 06 August 2019, 16:28:15 UTC | Add allowAudioMixedChannelCountAdaptiveness parameter to DefaultTrackSelector. We already allow mixed mime type and mixed sample rate adaptation on request, so for completeness, we can also allow mixed channel count adaptation. Issue:#6257 PiperOrigin-RevId: 261930046 | 02 September 2019, 13:32:10 UTC |
9f48633 | ibaker | 06 August 2019, 10:16:40 UTC | Migrate literal usages of 1000 to (new) C.MILLIS_PER_SECOND This only covers calls to scaleLargeTimestamp() PiperOrigin-RevId: 261878019 | 02 September 2019, 13:31:21 UTC |
97183ef | ibaker | 06 August 2019, 10:16:02 UTC | Add inband emsg-v1 support to FragmentedMp4Extractor This also decouples EventMessageEncoder's serialization schema from the emesg spec (it happens to still match the emsg-v0 spec, but this is no longer required). PiperOrigin-RevId: 261877918 | 02 September 2019, 13:31:15 UTC |
85c10b0 | Oliver Woodman | 09 August 2019, 20:01:05 UTC | Merge pull request #6279 from google/dev-v2-r2.10.4 r2.10.4 | 09 August 2019, 20:01:05 UTC |
d1ac272 | tonihei | 05 August 2019, 15:57:44 UTC | Update stale TrackSelections in chunk sources when keeping the streams. If we keep streams in chunk sources after selecting new tracks, we also keep a reference to a stale disabled TrackSelection object. Fix this by updating the TrackSelection object when keeping the stream. The static part of the selection (i.e. the subset of selected tracks) stays the same in all cases. Issue:#6256 PiperOrigin-RevId: 261696082 | 05 August 2019, 19:36:04 UTC |
936a778 | tonihei | 05 August 2019, 09:43:50 UTC | Check if controller is used when performing click directly. Issue:#6260 PiperOrigin-RevId: 261647858 | 05 August 2019, 19:35:56 UTC |
b0c2b1a | olly | 02 August 2019, 18:03:03 UTC | Bump annotations dependency PiperOrigin-RevId: 261353271 | 02 August 2019, 18:08:20 UTC |
f3e5aaa | olly | 02 August 2019, 17:05:17 UTC | Upgrade dependency versions PiperOrigin-RevId: 261341256 | 02 August 2019, 17:56:03 UTC |
f2cff05 | olly | 02 August 2019, 17:02:21 UTC | Remove obsolete workaround PiperOrigin-RevId: 261340526 | 02 August 2019, 17:55:58 UTC |
cd7fe05 | olly | 02 August 2019, 15:49:17 UTC | Constraint seek targetGranule within bounds + simplify tests PiperOrigin-RevId: 261328701 | 02 August 2019, 16:31:26 UTC |
f497bb9 | olly | 02 August 2019, 14:48:44 UTC | Move DefaultOggSeeker tests into a single class PiperOrigin-RevId: 261320318 | 02 August 2019, 16:31:20 UTC |
1da5689 | olly | 02 August 2019, 14:29:12 UTC | Improve extractor tests based on ExtractorAsserts - Test seeking to (timeUs=0, position=0), which should always work and produce the same output as initially reading from the start of the stream. - Reset the input when testing seeking, to ensure IO errors are simulated for this case. PiperOrigin-RevId: 261317898 | 02 August 2019, 16:31:14 UTC |
3c8c5a3 | olly | 02 August 2019, 14:20:35 UTC | Fix DefaultOggSeeker seeking - When in STATE_SEEK with targetGranule==0, seeking would exit without checking that the input was positioned at the correct place. - Seeking could fail due to trying to read beyond the end of the stream. - Seeking was not robust against IO errors during the skip phase that occurs after the binary search has sufficiently converged. PiperOrigin-RevId: 261317035 | 02 August 2019, 16:31:07 UTC |
80bc50b | andrewlewis | 01 August 2019, 18:36:18 UTC | Revert to using header bitrate for CBR MP3s A previous change switched to calculation of the bitrate based on the first MPEG audio header in the stream. This had the effect of fixing seeking to be consistent with playing from the start for streams where every frame has the same padding value, but broke streams where the encoder (correctly) modifies the padding value to match the declared bitrate in the header. Issue: #6238 PiperOrigin-RevId: 261163904 | 02 August 2019, 16:26:19 UTC |
88b68e5 | Oliver Woodman | 01 August 2019, 20:06:56 UTC | Fix ExoPlayerTest | 01 August 2019, 20:06:56 UTC |
f5e9213 | olly | 01 August 2019, 15:32:29 UTC | Shorten data length if it exceeds length of input Issue: #6241 PiperOrigin-RevId: 261126968 | 01 August 2019, 20:05:24 UTC |
6d20a5c | olly | 31 July 2019, 18:54:12 UTC | WavExtractor: Skip to data start position if position reset to 0 PiperOrigin-RevId: 260970865 | 01 August 2019, 20:04:45 UTC |
c373ff0 | olly | 31 July 2019, 12:27:57 UTC | Don't print warning when skipping RIFF and FMT chunks They're not unexpected! PiperOrigin-RevId: 260907687 | 01 August 2019, 20:04:37 UTC |
7ec7aab | andrewlewis | 18 April 2019, 13:15:38 UTC | Move E-AC3 workaround out of MediaCodecUtil PiperOrigin-RevId: 244173887 | 01 August 2019, 20:02:52 UTC |
7162bd8 | olly | 01 August 2019, 17:39:20 UTC | Propagate non-standard MIME type aliases Issue: #5938 PiperOrigin-RevId: 261150349 | 01 August 2019, 20:01:12 UTC |
23ace19 | olly | 01 August 2019, 15:14:12 UTC | Standardize ALAC initialization data Android considers ALAC initialization data to consider of the magic cookie only, where-as FFmpeg requires a full atom. Standardize around the Android definition, since it makes more sense (the magic cookie being contained within an atom is container specific, where-as the decoder shouldn't care what container the media stream is carried in) Issue: #5938 PiperOrigin-RevId: 261124155 | 01 August 2019, 19:52:22 UTC |
520275e | olly | 01 August 2019, 12:06:45 UTC | Make OggSeeker.startSeek take a granule rather than a time PiperOrigin-RevId: 261102180 | 01 August 2019, 19:52:15 UTC |
7405021 | olly | 01 August 2019, 12:05:07 UTC | Some no-op cleanup for DefaultOggSeeker PiperOrigin-RevId: 261102008 | 01 August 2019, 19:52:09 UTC |
4438cdb | bachinger | 01 August 2019, 11:15:59 UTC | return lg specific mime type as codec supported type for OMX.lge.alac.decoder ISSUE: #5938 PiperOrigin-RevId: 261097045 | 01 August 2019, 19:52:01 UTC |
309d043 | Oliver Woodman | 01 August 2019, 19:37:19 UTC | Merge pull request #6239 from ittiam-systems:vorbis-picture-parse PiperOrigin-RevId: 261087432 | 01 August 2019, 19:51:40 UTC |
e159e3a | olly | 01 August 2019, 09:34:11 UTC | Mp3Extractor: Avoid outputting non-zero position seek frame as a sample Checking inputPosition == 0 isn't sufficient because the synchronization at the top of read() may advance the input (i.e. in the case where there's some garbage prior to the seek frame). PiperOrigin-RevId: 261086901 | 01 August 2019, 19:50:53 UTC |
3e99e7a | olly | 31 July 2019, 17:02:21 UTC | Clean up some Ogg comments & document granulePosition PiperOrigin-RevId: 260947018 | 01 August 2019, 19:50:37 UTC |
b5ca187 | olly | 31 July 2019, 15:44:19 UTC | Mp3Extractor: Avoid outputting seek frame as a sample This could previously occur when seeking back to position=0 PiperOrigin-RevId: 260933636 | 01 August 2019, 19:50:29 UTC |
58e70e8 | olly | 30 July 2019, 15:14:06 UTC | Update javadoc for TrackOutput#sampleData to make it more clear that implementors aren't expected to rewind with setPosition() PiperOrigin-RevId: 260718614 | 01 August 2019, 19:49:45 UTC |
8c1b60f | olly | 29 July 2019, 21:41:58 UTC | Tweak Firebase JobDispatcher extension README PiperOrigin-RevId: 260583198 | 01 August 2019, 19:48:59 UTC |
f5980a5 | andrewlewis | 29 July 2019, 15:08:37 UTC | Ensure the SilenceMediaSource position is in range Issue: #6229 PiperOrigin-RevId: 260500986 | 29 July 2019, 21:34:21 UTC |
d279c3d | Oliver Woodman | 28 July 2019, 19:29:55 UTC | Update README.md | 28 July 2019, 19:29:55 UTC |
d395db9 | Oliver Woodman | 28 July 2019, 19:29:29 UTC | Update README.md | 28 July 2019, 19:29:29 UTC |
e56deba | Oliver Woodman | 28 July 2019, 19:27:35 UTC | Update README.md | 28 July 2019, 19:27:35 UTC |
926ad19 | Oliver Woodman | 28 July 2019, 19:26:55 UTC | Update README.md | 28 July 2019, 19:26:55 UTC |
9c88e54 | eguven | 21 May 2019, 15:01:24 UTC | Deprecate JobDispatcherScheduler PiperOrigin-RevId: 249250184 | 28 July 2019, 18:37:51 UTC |
d76bf4b | olly | 26 July 2019, 17:07:02 UTC | Bump version to 2.10.4 PiperOrigin-RevId: 260164426 | 27 July 2019, 22:01:22 UTC |
95d2988 | andrewlewis | 26 July 2019, 16:20:45 UTC | Fix handling of channel count changes with speed adjustment When using speed adjustment it was possible for playback to get stuck at a period transition when the channel count changed: SonicAudioProcessor would be drained at the point of the period transition in preparation for creating a new AudioTrack with the new channel count, but during draining the incorrect (new) channel count was used to calculate the output buffer size for pending data from Sonic. This meant that, for example, if the channel count changed from stereo to mono we could have an output buffer size that stored an non-integer number of audio frames, and in turn this would cause writing to the AudioTrack to get stuck as the AudioTrack would prevent writing a partial audio frame. Use Sonic's current channel count when draining output to fix the issue. PiperOrigin-RevId: 260156541 | 27 July 2019, 21:57:11 UTC |
70978ce | Oliver Woodman | 26 July 2019, 16:01:47 UTC | Update release notes | 26 July 2019, 16:01:47 UTC |
0b756a9 | Oliver Woodman | 18 July 2019, 18:40:34 UTC | Merge pull request #6042 from Timbals:dev-v2 PiperOrigin-RevId: 258812820 | 26 July 2019, 16:01:18 UTC |
78d6393 | olly | 26 July 2019, 15:08:56 UTC | Add A10-70L to output surface workaround Issue: #6222 PiperOrigin-RevId: 260146226 | 26 July 2019, 15:59:46 UTC |
97e98ab | olly | 23 July 2019, 18:59:55 UTC | Cast: Remove obsolete flavor dimension PiperOrigin-RevId: 259582498 | 26 July 2019, 15:58:41 UTC |
40fd11d | tonihei | 18 July 2019, 15:18:49 UTC | Further language normalization tweaks for API < 21. 1. Using the Locale on API<21 doesn't make any sense because it's a no-op anyway. Slightly restructured the code to avoid that. 2. API<21 often reports languages with non-standard underscores instead of dashes. Normalize that too. 3. Some invalid language tags on API>21 get normalized to "und". Use original tag in such a case. Issue:#6153 PiperOrigin-RevId: 258773463 | 26 July 2019, 15:58:07 UTC |
f829209 | tonihei | 18 July 2019, 09:08:19 UTC | Switch language normalization to 2-letter language codes. 2-letter codes (ISO 639-1) are the standard Android normalization and thus we should prefer them to 3-letter codes (although both are technically allowed according the BCP47). This helps in two ways: 1. It simplifies app interaction with our normalized language codes as the Locale class makes it easy to convert a 2-letter to a 3-letter code but not the other way round. 2. It better normalizes codes on API<21 where we previously had issues with language+country codes (see tests). 3. It allows us to normalize both ISO 639-2/T and ISO 639-2/B codes to the same language. PiperOrigin-RevId: 258729728 | 26 July 2019, 15:57:40 UTC |
e181d4b | aquilescanta | 17 July 2019, 17:22:04 UTC | Fix DataSchemeDataSource re-opening and range requests Issue:#6192 PiperOrigin-RevId: 258592902 | 26 July 2019, 15:57:24 UTC |
962d5e7 | tonihei | 17 July 2019, 16:33:36 UTC | Keep default start position (TIME_UNSET) as content position for preroll ads. If we use the default start position, we currently resolve it immediately even if we need to play an ad first, and later try to project forward again if we believe that the default start position should be used. This causes problems if a specific start position is set and the later projection after the preroll ad shouldn't take place. The problem is solved by keeping the content position as TIME_UNSET (= default position) if an ad needs to be played first. The content after the ad can then be resolved to its current default position if needed. PiperOrigin-RevId: 258583948 | 26 July 2019, 15:56:01 UTC |
fa69103 | olly | 17 July 2019, 09:10:39 UTC | Extend RK video_decoder workaround to newer API levels Issue: #6184 PiperOrigin-RevId: 258527533 | 26 July 2019, 15:55:01 UTC |
bba0a27 | Oliver Woodman | 14 July 2019, 15:24:00 UTC | Merge pull request #6151 from ittiam-systems:bug-5527 PiperOrigin-RevId: 257668797 | 26 July 2019, 15:54:56 UTC |
b6777e0 | olly | 06 July 2019, 10:09:36 UTC | Remove some UI classes from nullness blacklist PiperOrigin-RevId: 256751627 | 26 July 2019, 15:52:05 UTC |
b5e3ae4 | olly | 05 July 2019, 16:07:38 UTC | Add Nullable annotations to CastPlayer PiperOrigin-RevId: 256680382 | 26 July 2019, 15:51:59 UTC |
383c0ad | olly | 04 July 2019, 19:02:20 UTC | Remove more low hanging fruit from nullness blacklist PiperOrigin-RevId: 256573352 | 26 July 2019, 15:50:57 UTC |
a2a1414 | olly | 04 July 2019, 10:38:48 UTC | Remove FlacExtractor from nullness blacklist PiperOrigin-RevId: 256526365 | 26 July 2019, 15:50:39 UTC |
008efd1 | olly | 04 July 2019, 10:32:20 UTC | Make FlacExtractor output methods static This gives a caller greater confidence that the methods have no side effects, and remove any nullness issues with these methods accessing @Nullable member variables. PiperOrigin-RevId: 256525739 | 26 July 2019, 15:50:32 UTC |
9871423 | olly | 04 July 2019, 10:23:52 UTC | Simplify FlacExtractor (step toward enabling nullness checking) - Inline some unnecessarily split out helper methods - Clear ExtractorInput from FlacDecoderJni data after usage - Clean up exception handling for StreamInfo decode failures PiperOrigin-RevId: 256524955 | 26 July 2019, 15:50:10 UTC |
67ad84f | olly | 02 July 2019, 18:15:08 UTC | Remove more classes from nullness blacklist PiperOrigin-RevId: 256202135 | 26 July 2019, 15:48:00 UTC |