7d3f54a | Oliver Woodman | 08 April 2020, 21:48:19 UTC | Merge pull request #7162 from google/dev-v2-r2.11.4 r2.11.4 | 08 April 2020, 21:48:19 UTC |
76374d7 | Oliver Woodman | 08 April 2020, 21:11:33 UTC | Clean up playWhenReady | 08 April 2020, 21:11:33 UTC |
54f3e6a | Oliver Woodman | 08 April 2020, 21:03:06 UTC | Revert release note indentation change | 08 April 2020, 21:03:06 UTC |
f95a0ca | olly | 08 April 2020, 17:21:39 UTC | Update misc dependencies PiperOrigin-RevId: 305503804 | 08 April 2020, 20:53:45 UTC |
1f4d374 | olly | 08 April 2020, 17:14:01 UTC | Upgrade cast dependency Issue: #7191 PiperOrigin-RevId: 305502293 | 08 April 2020, 20:52:38 UTC |
55e33e3 | Oliver Woodman | 07 April 2020, 20:43:09 UTC | Fix missing subtitle addition | 07 April 2020, 20:43:09 UTC |
f696a56 | olly | 07 April 2020, 11:45:18 UTC | Audio focus: Restore full volume if focus is abandoned when ducked If we're in the ducked state and updateAudioFocus is called with a new state for which focus is no longer required, we should restore the player back to full volume. Issue: #7182 PiperOrigin-RevId: 305232155 | 07 April 2020, 13:12:30 UTC |
49858b8 | Oliver Woodman | 07 April 2020, 12:38:53 UTC | Merge pull request #7184 from TiVo:p-subtitle-format-from-codecs PiperOrigin-RevId: 305137114 | 07 April 2020, 13:12:06 UTC |
cc29798 | olly | 06 April 2020, 20:47:12 UTC | Audio focus: Re-request audio focus if in a transient loss state This avoids cases where audio focus is never successfully acquired because another app is holding on to transient audio focus indefinitely. Issue: #7182 PiperOrigin-RevId: 305108528 | 07 April 2020, 13:02:46 UTC |
3c0e617 | tonihei | 09 March 2020, 13:14:02 UTC | Merge AudioFocusManager methods to simplify control flow. handlePrepare/Stop/SetPlayReady can be merged together as they all handle changes to the desires state of the player. Also, simplify parts of the control flow by not mixing code that determines if audio focus needs to be handled with code that actually acquires or abandons the focus. PiperOrigin-RevId: 299824857 | 07 April 2020, 13:01:54 UTC |
07cbfb6 | andrewlewis | 06 April 2020, 18:46:21 UTC | Fix stuck ad playbacks with DRM-protected content When ClippingMediaPeriod first tried to read a buffer, if its end position was before the end of the stream and it was buffered to its end position, it would sometimes erroneously signal end-of-stream for protected content because the sample queue might be waiting for DRM keys at this point. Work around the issue temporarily by signaling this specific case back to ClippingMediaPeriod via the DecoderInputBuffer. There will likely be a cleaner fix as a result of adding support for dynamic clip end points in the future, at which point this can be reverted. issue:#7188 PiperOrigin-RevId: 305081757 | 07 April 2020, 12:49:54 UTC |
d4d7907 | Oliver Woodman | 07 April 2020, 12:43:28 UTC | Revert "Remove duplicate SCTE-35 format and add sample to TsExtractorTest" This reverts commit 8591e69b6a40162ffc801a1569549ca826606cc5. | 07 April 2020, 12:43:28 UTC |
29118f4 | Oliver Woodman | 03 April 2020, 23:21:20 UTC | Tweak release note | 03 April 2020, 23:21:20 UTC |
f14c028 | Oliver Woodman | 03 April 2020, 21:57:06 UTC | Fix dump files for release | 03 April 2020, 21:57:06 UTC |
b8e6e98 | samrobinson | 09 March 2020, 13:47:01 UTC | Simplify `WakeLockManager` and `WifiLockManager` logic. Disabling reference counting allows some checks to be removed. This is a no-op. PiperOrigin-RevId: 299829600 | 03 April 2020, 21:52:40 UTC |
83c2ca5 | samrobinson | 27 February 2020, 16:06:22 UTC | Add `WifiLock` management to `SimpleExoPlayer`. Issue:#6914 PiperOrigin-RevId: 297598910 | 03 April 2020, 21:52:35 UTC |
e4e56fa | samrobinson | 09 December 2019, 15:55:05 UTC | Clean `WakeLockManager.updateWakeLock` logic. PiperOrigin-RevId: 284552723 | 03 April 2020, 21:49:03 UTC |
a5420a0 | olly | 01 April 2020, 16:03:44 UTC | Fix release notes PiperOrigin-RevId: 304196424 | 01 April 2020, 22:04:58 UTC |
d921491 | kimvde | 01 April 2020, 15:33:27 UTC | Remove thread checks in player constructor SimpleExoPlayer instances don't have to be created from the application thread. PiperOrigin-RevId: 304190901 | 01 April 2020, 22:04:51 UTC |
38f2828 | olly | 01 April 2020, 14:57:01 UTC | Fix ADTS extraction with mid-stream ID3 PiperOrigin-RevId: 304184650 | 01 April 2020, 22:04:36 UTC |
d466b8c | ibaker | 01 April 2020, 08:31:17 UTC | Make javadoc links point to Android docs for java.* classes Before: https://docs.oracle.com/javase/7/docs/api/index.html?java/lang/String.html After: https://developer.android.com/reference/java/lang/String.html PiperOrigin-RevId: 304137011 | 01 April 2020, 21:58:56 UTC |
a9c4d2f | ibaker | 01 April 2020, 08:29:56 UTC | Ensure javadoc fix applies to Android links with anchors This means is-external=true is removed and target=_top is set on the <a> tag. Without this, javadoc links to framework docs with anchors are currently broken when viewed in the "frame view" on exoplayer.dev/doc/reference/ Before this change: https://developer.android.com/reference/android/media/MediaDrm.html?is-external=true#getKeyRequest-byte:A-byte:A-java.lang.String-int-java.util.HashMap- With this change: https://developer.android.com/reference/android/media/MediaDrm.html#getKeyRequest-byte:A-byte:A-java.lang.String-int-java.util.HashMap- PiperOrigin-RevId: 304136858 | 01 April 2020, 21:58:48 UTC |
c75f3f7 | Oliver Woodman | 31 March 2020, 11:35:44 UTC | Merge pull request #7099 from matamegger:feature/fix_pssh_v1_on_firetv PiperOrigin-RevId: 303937576 | 01 April 2020, 21:58:03 UTC |
1f44a4d | olly | 30 March 2020, 17:57:24 UTC | Bump version to 2.11.4 PiperOrigin-RevId: 303776645 | 30 March 2020, 18:27:23 UTC |
fea0acd | andrewlewis | 30 March 2020, 15:38:15 UTC | Fix PlaybackStatsListener behavior when not keeping history issue:#7160 PiperOrigin-RevId: 303747338 | 30 March 2020, 17:36:10 UTC |
94ca84f | jaewan | 30 March 2020, 13:59:57 UTC | Allow developers to specify CharSequence for Notification strings CharSequence is used by Notification builders and allows to set Spannable text. It's the base interface of the String class, so apps wouldn't be break after the update. PiperOrigin-RevId: 303731890 | 30 March 2020, 17:36:10 UTC |
f0e734d | olly | 27 March 2020, 18:01:16 UTC | Workaround C2 AAC decoder flush problem on Android 10 Issue: #6671 PiperOrigin-RevId: 303364788 | 30 March 2020, 17:36:07 UTC |
69ca534 | olly | 27 March 2020, 17:15:49 UTC | Parse opus gain correctly as a signed value Issue: #7046 PiperOrigin-RevId: 303354941 | 30 March 2020, 17:31:24 UTC |
a9cbbf9 | olly | 27 March 2020, 16:45:09 UTC | Skip aliases of other codecs - They are always listed with their canonical names - Considering aliases means that blacklisting a decoder can end up not actually blacklisting it, since it may still be accessible via an alias. It also means that our decoder fallback logic can end up falling back to a decoder that we've already tried! PiperOrigin-RevId: 303348297 | 30 March 2020, 17:31:24 UTC |
0a5a3cb | olly | 27 March 2020, 15:28:36 UTC | Handle orientation changes in GL demo Issue: #7141 PiperOrigin-RevId: 303334072 | 30 March 2020, 17:31:24 UTC |
3fd7d21 | olly | 27 March 2020, 13:27:06 UTC | Consistency fixes for FFmpeg extension instructions PiperOrigin-RevId: 303316976 | 30 March 2020, 17:31:24 UTC |
c9f2808 | ibaker | 26 March 2020, 18:17:57 UTC | Make milliseconds optional in SubRip (SRT) subtitles issue:#7122 PiperOrigin-RevId: 303154493 | 30 March 2020, 17:31:24 UTC |
a038346 | olly | 25 March 2020, 12:50:03 UTC | Resample float audio to 16-bit by default to enable audio processing This is less confusing than having audio processing functionality (e.g., playback speed adjustment) just "not work" for some pieces of media. If this change is merged, I will update #6749 to also track making DefaultAudioSink intelligently enable/disable float output depending on how the audio processors are configured. Issue: #7134 PiperOrigin-RevId: 302871568 | 30 March 2020, 17:31:24 UTC |
ddc9833 | olly | 24 March 2020, 15:49:34 UTC | DefaultAudioSink: Fix issue if last processor is not active It's incorrect to use an AudioFormat returned from AudioProcessor.configure unless the AudioProcessor is active. Issue: #7134 PiperOrigin-RevId: 302674132 | 30 March 2020, 17:31:24 UTC |
54c6084 | olly | 24 March 2020, 15:32:52 UTC | Support 32-bit FP to 16-bit Int audio resampling This is a no-op for DefaultAudioSink for now, because DefaultAudioSink currently disables processing anyway if the input uses ENCODING_PCM_FLOAT. Issue: #7134 PiperOrigin-RevId: 302670534 | 30 March 2020, 17:31:24 UTC |
2094c74 | olly | 24 March 2020, 14:24:36 UTC | WAV: Don't read past data end position Issue: #7129 PiperOrigin-RevId: 302660343 | 30 March 2020, 17:31:24 UTC |
1d6bd0d | olly | 24 March 2020, 11:31:19 UTC | MP4 edit lists: Use floor rather than ceil to find first sample If the start time of the edit falls within a sample, start from that sample rather than the next one. This ensures playback can start from the correct point if the sample is a keyframe, rather than having to start from the next one. Issue: #7133 PiperOrigin-RevId: 302639115 | 30 March 2020, 17:31:24 UTC |
d18292c | ibaker | 23 March 2020, 18:03:04 UTC | Allow missing hours in SubRip (.srt) subtitle timecodes Add a test for this case, and extend the existing tests to ensure the hour is parsed when it's present. issue:#7122 PiperOrigin-RevId: 302472213 | 30 March 2020, 17:31:23 UTC |
cac36be | krocard | 23 March 2020, 11:09:19 UTC | Conserve ByteOrder when growingDecoderInputBuffer #exo-offload PiperOrigin-RevId: 302403507 | 30 March 2020, 17:31:23 UTC |
b67d79d | olly | 23 March 2020, 02:16:49 UTC | Request storage permission if missing PiperOrigin-RevId: 302345647 | 30 March 2020, 17:31:20 UTC |
a39715d | olly | 20 March 2020, 12:17:32 UTC | Improve logging - Make sure logging of UnknownHostException indicates the failure reason - Indent stack traces inside event blocks in EventLogger - Don't log media URLs PiperOrigin-RevId: 302007601 | 30 March 2020, 17:27:14 UTC |
dd4a732 | Oliver Woodman | 20 March 2020, 12:49:00 UTC | Merge pull request #7098 from matamegger:feature/webvtt_negative_media_timestamp PiperOrigin-RevId: 301996778 | 30 March 2020, 17:27:14 UTC |
4750785 | andrewlewis | 13 March 2020, 09:04:00 UTC | Add option for sensor rotation in 360 playbacks Issue: #6761 PiperOrigin-RevId: 300715682 | 30 March 2020, 17:27:07 UTC |
b2849fd | Oliver Woodman | 11 March 2020, 16:27:36 UTC | Merge pull request #7057 from Chimerapps:dash_assetidentifier PiperOrigin-RevId: 300313753 | 30 March 2020, 13:32:35 UTC |
dca68b2 | Oliver Woodman | 11 March 2020, 16:27:47 UTC | Merge pull request #7064 from davibe:enhancement/6907 PiperOrigin-RevId: 300330109 | 30 March 2020, 13:30:33 UTC |
40d5db0 | krocard | 09 March 2020, 16:43:38 UTC | Add support for x86_64 for the ffmpeg extension Requested by https://github.com/google/ExoPlayer/issues/7058. Additionally move one of the common option in COMMON_OPTIONS. PiperOrigin-RevId: 299862479 | 30 March 2020, 13:26:33 UTC |
4e6383a | Oliver Woodman | 10 March 2020, 10:20:37 UTC | Merge pull request #7051 from Cizor:dev-v2 PiperOrigin-RevId: 299357049 | 30 March 2020, 13:25:27 UTC |
e2a6775 | Oliver Woodman | 10 March 2020, 10:17:13 UTC | Merge pull request #6999 from xufuji456:dev-v2 PiperOrigin-RevId: 298544278 | 30 March 2020, 13:25:03 UTC |
c3f9f0e | Oliver Woodman | 25 February 2020, 21:24:27 UTC | Merge pull request #7010 from dbrain:fix_nullability PiperOrigin-RevId: 297187116 | 30 March 2020, 12:47:20 UTC |
265670c | vigneshv | 20 February 2020, 20:52:37 UTC | Add ReleaseInputBuffer callback The release_input_buffer callback will be called when the library is done consuming an "input buffer". The buffer passed into EnqueueFrame must be kept valid until this callback is called. If frame parallel is false, then this callback can be nullptr (in this case the buffer has to be kept valid until the next call to DequeueFrame). If frame parallel is true, this callback cannot be nullptr. PiperOrigin-RevId: 296276083 | 30 March 2020, 12:46:50 UTC |
8591e69 | Oliver Woodman | 30 March 2020, 12:46:24 UTC | Remove duplicate SCTE-35 format and add sample to TsExtractorTest It's not clear why we're currently outputting the format in both init() and consume() - it seems likely that this was accidentally introduced in <unknown commit> when we started outputting the format in consume() but didn't remove it from init(). | 30 March 2020, 12:46:24 UTC |
908a76e | olly | 19 February 2020, 16:09:10 UTC | Change libgav1's frame buffer callback API. 1. Have frame buffer callbacks return Libgav1StatusCode instead of int. The 0 (success), -1 (failure) return value convention is less obvious. Note: The callers of frame buffer callbacks, BufferPool::OnFrameBufferSizeChanged() and YuvBuffer::Realloc(), currently return bool, so more work is needed to propagate the frame buffer callbacks' Libgav1StatusCode return value to the Decoder API. 2. Allow the FrameBufferSizeChangedCallback to be omitted if the frame buffer size information is not useful to the application. 3. Remove the old (version 1) frame buffer callback API. Remove the frame buffer callback adaptor. frame_buffer2.h is renamed frame_buffer.h. Libgav1FrameBuffer2 is renamed Libgav1FrameBuffer. GetFrameBufferCallback2 and ReleaseFrameBufferCallback2 are renamed GetFrameBufferCallback and ReleaseFrameBufferCallback. PiperOrigin-RevId: 295971183 | 30 March 2020, 12:44:13 UTC |
75bd4eb | olly | 17 February 2020, 11:22:38 UTC | Use &id_ as buffer_private_data for libgav1. This avoids the issue of whether it is defined behaviour to cast an arbitrary int (or even intptr_t) value to a void* pointer. This is the original approach used before commit 0915998add5918214fa0282a69b50a159168a6d5. PiperOrigin-RevId: 295552115 | 30 March 2020, 12:44:05 UTC |
766b383 | olly | 17 February 2020, 11:00:56 UTC | Use libgav1 frame buffer callback helper functions Libgav1 recently added the ComputeFrameBufferInfo() and SetFrameBuffer() helper functions for writing frame buffer callbacks. Using them simplifies the Libgav1GetFrameBuffer() function. Also resurrect the AlignTo16() function. PiperOrigin-RevId: 295548330 | 30 March 2020, 12:43:58 UTC |
b73f6b6 | olly | 14 February 2020, 21:16:57 UTC | gav1_jni: fix pointer->int conversion warnings fixes: gav1_jni.cc:446:25: error: cast from pointer to smaller type 'int' loses information const int buffer_id = reinterpret_cast<int>(buffer_private_data); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gav1_jni.cc:730:9: error: cast from pointer to smaller type 'int' loses information reinterpret_cast<int>(decoder_buffer->buffer_private_data); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ after https://github.com/google/ExoPlayer/commit/0915998add5918214fa0282a69b50a159168a6d5 PiperOrigin-RevId: 295211245 | 30 March 2020, 12:43:47 UTC |
0acc95c | olly | 07 February 2020, 15:51:27 UTC | Cast void* to JniContext* using static_cast. static_cast is more appropriate than reinrerpret_cast for casting from void* to JniContext*. See Section 7.2.1 (page 173) in The C++ Programming Language, 4th Edition and https://stackoverflow.com/questions/310451/should-i-use-static-cast-or-reinterpret-cast-when-casting-a-void-to-whatever PiperOrigin-RevId: 293812940 | 30 March 2020, 12:43:39 UTC |
1163519 | olly | 07 February 2020, 00:57:15 UTC | Switch to new libgav1 frame buffer callback API. The new code in Libgav1GetFrameBuffer is copied from libgav1/src/frame_buffer_callback_adaptor.cc. It may become libgav1 utility functions available to libgav1 clients in the future. The Libgav1FrameBuffer struct in the old frame buffer callback API is defined as follows: typedef struct Libgav1FrameBuffer { uint8_t* data[3]; size_t size[3]; void* private_data; } Libgav1FrameBuffer; Copy these three fields to the JniFrameBuffer class as private data members and add the RawBuffer() and Id() getter methods. The existing AlignTo16 function is replaced by the copied Align template function. PiperOrigin-RevId: 293709205 | 30 March 2020, 12:43:27 UTC |
1818921 | ibaker | 19 February 2020, 11:09:53 UTC | Catch-and-log all subtitle decode errors issue:#6885 PiperOrigin-RevId: 295931197 | 30 March 2020, 12:41:41 UTC |
ed1eade | andrewlewis | 18 February 2020, 17:00:38 UTC | Update stale comment in TrimmingAudioProcessor The part about leaving the pending trim start byte count unmodified if the processor was just configured is not correct. PiperOrigin-RevId: 295745371 | 30 March 2020, 12:40:36 UTC |
23e4236 | olly | 18 February 2020, 10:29:19 UTC | Add missing IntDef to switch PiperOrigin-RevId: 295692163 | 30 March 2020, 12:39:30 UTC |
49910fe | Oliver Woodman | 18 February 2020, 15:02:33 UTC | Merge pull request #6989 from google/dev-v2-r2.11.3 r2.11.3 | 18 February 2020, 15:02:33 UTC |
b14d879 | Oliver Woodman | 18 February 2020, 14:47:58 UTC | Tweak Javadoc | 18 February 2020, 14:47:58 UTC |
5f1c6b6 | olly | 17 February 2020, 14:55:45 UTC | Fix SmoothStreaming Issue: #6981 PiperOrigin-RevId: 295579872 | 18 February 2020, 12:15:13 UTC |
d93b57c | olly | 17 February 2020, 14:23:06 UTC | Zero out trailing bytes in CryptoInfo.iv CryptoInfo.iv length is always 16. When the actual initialization vector is shorter, zero out the trailing bytes. Issue: #6982 PiperOrigin-RevId: 295575845 | 18 February 2020, 12:14:34 UTC |
a967ff3 | kimvde | 17 February 2020, 10:11:06 UTC | Fix DefaultExtractorsFactory Javadoc PiperOrigin-RevId: 295540885 | 18 February 2020, 12:11:29 UTC |
cd0999e | olly | 18 February 2020, 10:56:25 UTC | Bump version to 2.11.3 PiperOrigin-RevId: 295695297 | 18 February 2020, 12:10:24 UTC |
fd24df3 | olly | 11 February 2020, 21:09:05 UTC | Fix demo app download notification PiperOrigin-RevId: 294503035 | 13 February 2020, 18:14:21 UTC |
62092e6 | Oliver Woodman | 13 February 2020, 18:11:29 UTC | Merge pull request #6888 from google/dev-v2-r2.11.2 r2.11.2 | 13 February 2020, 18:11:29 UTC |
0740e3c | Oliver Woodman | 13 February 2020, 18:08:54 UTC | Fix release date | 13 February 2020, 18:08:54 UTC |
fefe461 | aquilescanta | 10 February 2020, 12:27:08 UTC | Revert accidental change in media.exolist. PiperOrigin-RevId: 294193213 | 13 February 2020, 18:06:09 UTC |
646e690 | andrewlewis | 06 February 2020, 10:36:36 UTC | Add GL demo app Demonstrates rendering to a GLSurfaceView while applying a GL shader. Issue: #6920 PiperOrigin-RevId: 293551724 | 13 February 2020, 16:52:20 UTC |
19c8858 | aquilescanta | 10 February 2020, 11:38:27 UTC | Prepare and release DrmSessionManager in Renderers Issue: #6951 PiperOrigin-RevId: 294187695 | 13 February 2020, 15:53:05 UTC |
67a748f | kimvde | 03 February 2020, 14:45:37 UTC | FLAC extension: remove sample rate check This check is not needed because the FLAC specification does not restrict the sample rate value and because the extension reads files with other sample rates properly. PiperOrigin-RevId: 292909391 | 13 February 2020, 15:50:20 UTC |
890fd4e | olly | 03 February 2020, 14:43:34 UTC | Don't re-init codec if DRM session is unchanged This condition is trying to detect when it might be necessary to switch from a non-secure to a secure codec. This is not possible if the DRM session is unchanged, unless a different codec is required for some other reason (e.g., H264 -> H265), which is anyway handled by canKeepCodec below. PiperOrigin-RevId: 292909126 | 03 February 2020, 14:46:08 UTC |
b7c5f5c | olly | 03 February 2020, 11:04:33 UTC | Avoid unnecessary decoder instantiations on key rotation Issue: #6903 PiperOrigin-RevId: 292884280 | 03 February 2020, 11:24:25 UTC |
45cb55c | olly | 31 January 2020, 15:36:08 UTC | Lock down SampleQueue to reasonable extension points PiperOrigin-RevId: 292542298 | 01 February 2020, 19:40:07 UTC |
ee2ad94 | bachinger | 30 January 2020, 21:44:55 UTC | annotate nullabilty of CommandReceiver Issue: #6938 PiperOrigin-RevId: 292415853 | 01 February 2020, 19:39:43 UTC |
0cc1eba | andrewlewis | 30 January 2020, 15:53:20 UTC | Add missing AV1 extension path to .gitignore PiperOrigin-RevId: 292347360 | 01 February 2020, 19:39:28 UTC |
fd88115 | olly | 30 January 2020, 12:37:28 UTC | HLS: Fix key rotation Passing EXT-X-KEY DrmInitData through the FragmentedMp4Extractor doesn't work for streams with key rotation, because an extractor instance is used for multiple segments, but is only passed the EXT-X-KEY DrmInitData corresponding to the first segment. This change removes passing DrmInitData through the extractor, and instead passes it via FormatAdjustingSampleQueue. This is in-line with how manifest DrmInitData is handled during DASH playbacks. Issue: #6903 PiperOrigin-RevId: 292323429 | 01 February 2020, 19:39:06 UTC |
850aef4 | olly | 30 January 2020, 11:14:55 UTC | SampleQueue: Let subclasses easily invalidate format adjustment This is a nice-regardless improvement to SampleQueue, which will likely to used to fix the referenced issue. It makes it possible for SampleQueue subclasses to support dynamic changes to format adjustment in a non-hacky way. Issue: #6903 PiperOrigin-RevId: 292314720 | 01 February 2020, 19:38:06 UTC |
12bb358 | olly | 28 January 2020, 11:20:11 UTC | Expand dangal workaround to all API levels It doesn't seem worth keeping the cap, since the device will presumably stop receiving major version updates at some point anyway. Issue: #6899 PiperOrigin-RevId: 291899439 | 01 February 2020, 19:37:20 UTC |
3e75d2a | Oliver Woodman | 27 January 2020, 19:12:02 UTC | Fix demo app | 27 January 2020, 19:13:24 UTC |
fbe840e | olly | 27 January 2020, 12:04:40 UTC | Upgrade OkHttp dependency to 3.12.8 OkHttp 3.12.7 introduced a regression, which was fixed in 3.12.8. PiperOrigin-RevId: 291695577 | 27 January 2020, 19:08:45 UTC |
d1703ad | ibaker | 21 January 2020, 20:04:08 UTC | Ensure the demo app requests local-file permissions for subtitle files Currently we only do this for the main sample URI, not for subtitles. So pairing a web-based video file with a local subtitle file on a fresh install just throws a 'permission denied' exception. PiperOrigin-RevId: 290794091 | 27 January 2020, 19:07:41 UTC |
b59a1b8 | andrewlewis | 20 January 2020, 13:14:44 UTC | Remove duplicate release note PiperOrigin-RevId: 290600248 | 27 January 2020, 19:06:57 UTC |
c79cb1b | tonihei | 20 January 2020, 12:15:27 UTC | Add ID3 genres added in Wimamp 5.6 (2010). All these genres are currently causing a warning and are not added to the Metadata.Entry. PiperOrigin-RevId: 290594810 | 27 January 2020, 19:06:36 UTC |
7aefaa7 | olly | 17 January 2020, 20:16:39 UTC | extensions/av1: use -O2 for release builds + force arm (over thumb) mode for 32-bit builds -O2 improves performance ~30-40% over the default -Oz depending on the resolution; this is similar to what is done for vp9 which uses -O3. PiperOrigin-RevId: 290318121 | 27 January 2020, 19:06:17 UTC |
ce1ec1d | olly | 17 January 2020, 16:36:41 UTC | Release notes: Move download segment merging out of 2.11.2 PiperOrigin-RevId: 290276507 | 17 January 2020, 17:00:34 UTC |
b137cfb | olly | 17 January 2020, 15:58:25 UTC | Tidy up DownloadService restart. Final change for #6798. - Add additional Listener methods to DownloadManager, to inform of changes to whether the downloads are paused or waiting for requirements. - Only schedule the Scheduler if we really are waiting for requirements. - Only restart the service if we're no longer waiting for requirements, and if there are queued downloads that will now be restarted. Previously the service would be restarted whenever the requirements were met, regardless of whether there was any work to do. - Restart service if it might be stopping, as well as if it's already stopped. Also restart service if there's a download state change to a state for which the service should be started, if. Issue: #6798 PiperOrigin-RevId: 290270547 | 17 January 2020, 16:16:52 UTC |
0a2373c | olly | 17 January 2020, 15:47:36 UTC | 2.11.2 release notes and version bump PiperOrigin-RevId: 290269098 | 17 January 2020, 16:16:36 UTC |
49349f0 | krocard | 17 January 2020, 09:57:01 UTC | Do not hold a codec in OnFrameRenderedListener Doing so prevent Codec which is a big object with JNI to be garbage collected. As the codec can not be hold in the listener, there is no way to call release, as it must be called on the same codec. As a result the release method is also removed. The downside is that at runtime some callbacks may be dropped but it should be a short transitive state. This also simplifies lifecycle of the listener as the client does not have to know if release needs to be called or not. An alternative would have been to hold a weak ref, but I deemed it too complicated for the runtime gain. PiperOrigin-RevId: 290231659 | 17 January 2020, 16:14:51 UTC |
ea47116 | Oliver Woodman | 17 January 2020, 14:04:46 UTC | Fix build | 17 January 2020, 14:30:48 UTC |
f146bad | olly | 16 January 2020, 20:11:20 UTC | HLS: Fix slow seeking into long MP3 segments Issue: #6155 PiperOrigin-RevId: 290117324 | 17 January 2020, 14:02:33 UTC |
0456b63 | kimvde | 16 January 2020, 17:14:50 UTC | FlacExtractor: handle case where last frame < MAX_FRAME_HEADER_SIZE PiperOrigin-RevId: 290079840 | 17 January 2020, 14:02:29 UTC |
e202560 | krocard | 16 January 2020, 17:13:51 UTC | Tunneling timestamp use Message instead of Runnable This avoids allocating a Runnable. PiperOrigin-RevId: 290079660 | 17 January 2020, 14:02:16 UTC |
0ac22d3 | olly | 16 January 2020, 16:09:28 UTC | Start service in foreground if allowed This fixes an issue where a DownloadService implementation that allows foreground but doesn't provide a scheduler would not be restarted in the case that it was still in memory but classed as idle by the platform. It also speeds up service restart in the case that a scheduler is provided. Issue: #6798 PiperOrigin-RevId: 290068960 | 17 January 2020, 14:01:50 UTC |
f35cb8a | olly | 16 January 2020, 14:17:28 UTC | Split SampleQueue.advanceTo for advance & seek use cases This method has two use cases: 1. Seeking. Calls are immediately preceded by a call to rewind(), and the returned value isn't important unless it's ADVANCED_FAILED (i.e. the caller is only interested in success and failure). 2. Advancing. The return value is important unless it's ADVANCED_FAILED, in which case the caller wants to treat it as 0. This change creates separate methods for each use case. The new seekTo methods automatically rewind and return a boolean. The updated advanceTo method returns 0 directly in cases where ADVANCED_FAILED was returned. Arguments that were always hard-coded to true by callers have also been removed. This change is a step toward one possible solution for #6155. How we'll solve that issue is still up for discussion, but this change seems like one we should make regardless! Issue: #6155 PiperOrigin-RevId: 290053743 | 17 January 2020, 14:01:45 UTC |
dfa4d55 | olly | 16 January 2020, 13:49:25 UTC | Fix DownloadService resumption - DownloadManagerHelper now passes all downloads to the DownloadService when the service is attached (and once the downloads are known). The service then starts the foreground notification updater if necessary. This fixes the ref'd issue. - Don't call getScheduler() if the service is background only. This was already documented to be the case on the DownloadService constructor. - If the service is started in the foreground on SDK level 26 and higher, satisfy the condition to move the service to the foreground in onStartCommand rather than in stop(). It's much more obviously correct, and should produce the same end result. Issue: #6798 PiperOrigin-RevId: 290050024 | 17 January 2020, 14:01:38 UTC |
c269ffe | Oliver Woodman | 16 January 2020, 13:52:37 UTC | Merge pull request #6603 from TiVo:fix-tunneling-stuck-release PiperOrigin-RevId: 290041295 | 17 January 2020, 14:00:33 UTC |
38bc735 | Oliver Woodman | 16 January 2020, 13:52:08 UTC | Merge pull request #6678 from phhusson:feature/enable-multi-metadata-tracks PiperOrigin-RevId: 290032841 | 17 January 2020, 13:59:48 UTC |