2a88f0f | christosts | 22 September 2021, 16:58:21 UTC | Merge pull request #9462 from google/dev-v2-r2.15.1 r2.15.1 | 22 September 2021, 16:58:21 UTC |
5588dca | christosts | 21 September 2021, 13:01:19 UTC | Update javadoc for 2.15.1 #minor-release PiperOrigin-RevId: 397976212 | 21 September 2021, 13:35:18 UTC |
dee0c2c | christosts | 20 September 2021, 15:38:09 UTC | Bump version to 2.15.1 and tidy release notes PiperOrigin-RevId: 397758146 | 21 September 2021, 08:54:16 UTC |
5f3953d | ibaker | 17 September 2021, 10:55:01 UTC | Improve AdtsExtractor#sniff when trying different sync word offsets The previous implementation did the following (after skipping any ID3 headers at the start of the stream): 1. Skip forward byte-by-byte looking for a sync word (0xFFF) 2. Assume this indicates the start of an ADTS frame and read the size a) If frameSize <= 6 immediately return false 3. Skip forward by frameSize and expect to find another ADTS sync word (with no further scanning). b) If we find one, great! Loop from step 2. a) If we don't find one then assume the **last** sync word we found wasn't actually one, so loop from step 1 starting one extra byte into the stream. This means we're looking for a sync word we would have skipped over in step 3. The asymmetry here comes from the different handling of frameSize <= 6 (immediately return false) and frameSize being 'wrong because it doesn't lead to another sync word' (scan the file again from the beginning for alternative sync words). With this change both these cases are handled symmetrically (always scan for alternative sync words). Step 2a) becomes the same as 3b): Loop back to the beginning of the stream with an incremented offset and scan for another sync word. #minor-release PiperOrigin-RevId: 397285756 | 17 September 2021, 12:22:13 UTC |
8d01d66 | olly | 17 September 2021, 09:22:31 UTC | Fix documention for specifying a custom exolist.json Issue: #9437 #minor-release PiperOrigin-RevId: 397273931 | 17 September 2021, 12:21:26 UTC |
212e37f | claincly | 16 September 2021, 13:12:19 UTC | Fix RTSP WWW-Authenticate header parsing. Issue: #9428 PiperOrigin-RevId: 397064086 | 16 September 2021, 16:50:19 UTC |
dfc29fc | christosts | 16 September 2021, 10:55:10 UTC | Fix HLS endless retrying on load errors This was originally reported on #9390. There was a bug that when HLS loads failed, the player would endlessly retry and never fail with a player error. This change fixes a bug in HlsSampleStreamWrapper.onPlaylistError() which would return true for a playlist whose load encountered an error but could not be excluded, whereas the method should return false. Issue: #9390 PiperOrigin-RevId: 397045802 | 16 September 2021, 15:44:22 UTC |
b4aa868 | ibaker | 14 September 2021, 16:26:48 UTC | Fix how preacquired DRM sessions are released under resource contention Previously the released preacquired sessions would start their keepalive timeout, and so no additional resources would be freed in time for the manager to retry the session acquisition. This change adds an additional purge of keepalive sessions *after* the preacquired sessions are released, which fixes the problem. PiperOrigin-RevId: 396613352 | 16 September 2021, 15:41:35 UTC |
e6cb52a | christosts | 13 September 2021, 11:59:22 UTC | PlaybackStatsListener: add check when adding guessed times This is was reported in #9257 where the PlaybackStatsListener may try to access an emtpy ArrayList. Issue: #9257 #minor-release #exofixit PiperOrigin-RevId: 396329373 | 16 September 2021, 15:39:51 UTC |
3147a53 | olly | 10 September 2021, 13:46:32 UTC | Constrain resolved period positions to be within the period This is a candidate fix for #8906. As mentioned in that issue, negative positions within windows might be (kind of) valid in live streaming scenarios, where the window starts at some non-zero position within the period. However, negative positions within periods are definitely not valid. Neither are positions that exceed the period duration. There was already logic in ExoPlayerImplInternal to prevent a resolved seek position from exceeding the period duration. This fix adds the equivalent constraint for the start of the period. It also moves the application of the constraints into Timeline. This has the advantage that the constraints are applied as part of state masking in ExoPlayerImpl.seekTo, removing any UI flicker where the invalid seek position is temporarily visible. Issue: #8906 PiperOrigin-RevId: 395917413 | 16 September 2021, 15:14:20 UTC |
927d507 | claincly | 10 September 2021, 12:53:40 UTC | Fix RTSP session header parsing regex error. Issue: #9416 The dash "-" in the brackets must be escaped, or it acts like a range operator. PiperOrigin-RevId: 395909845 | 16 September 2021, 15:11:51 UTC |
5a5aeda | bachinger | 09 September 2021, 17:02:46 UTC | Add DASH samples with multiple base URLs PiperOrigin-RevId: 395727438 | 16 September 2021, 15:09:35 UTC |
25a6ff5 | bachinger | 09 September 2021, 16:32:27 UTC | Select base URL on demand when a new chunk is created Instead of selecting the base URL initially or when a load error occurs, it is now selected when a chunk or initialization chunk is created. The selected base URL is then assigned to `RepresentationHolder.lastUsedBaseUrl` that is excluded in case of a load error. For a next chunk another base URL will be selected by using the `BaseUrlExclusionList`. PiperOrigin-RevId: 395721221 | 16 September 2021, 15:08:05 UTC |
051e18b | olly | 09 September 2021, 09:13:23 UTC | Fix STATE_IDLE Javadoc Since playlist support was added, it's possible for the player to "have media" and be in STATE_IDLE. The STATE_IDLE documentation therefore became incorrect. Issue: #8946 #exofixit #minor-release PiperOrigin-RevId: 395653716 | 16 September 2021, 14:14:48 UTC |
9046124 | ibaker | 08 September 2021, 15:26:38 UTC | Fix a bug in core_settings.gradle with relative paths I think this has been broken since https://github.com/google/ExoPlayer/commit/617267bfcf20c500fb4a3cfdff7104e4d88261a7 (which was trying to fix the same problem). This change initializes `rootDir` to always be the current project (i.e. ExoPlayer) directory. From the [Gradle docs](https://docs.gradle.org/current/userguide/working_with_files.html#sec:single_file_paths): > What happens in the case of multi-project builds? The file() method > will always turn relative paths into paths that are relative to the > current project directory, which may be a child project. We can also then remove exoplayerRoot completely and simplify the local dependency instructions. * #minor-release * #exofixit * Issue: #9403 PiperOrigin-RevId: 395478121 | 16 September 2021, 14:13:51 UTC |
036039f | claincly | 08 September 2021, 12:47:20 UTC | Handle malformed URL in RTP-Info header. Some server will send partial URIs in the RTP-Info header, while the RTSP spec requires absolute URLs. Issue: #9346 PiperOrigin-RevId: 395452741 | 16 September 2021, 14:11:42 UTC |
745c33f | samrobinson | 08 September 2021, 11:41:08 UTC | Fix AudioSink reset javadoc. PiperOrigin-RevId: 395444714 | 16 September 2021, 14:08:48 UTC |
8a85cbb | olly | 08 September 2021, 11:27:26 UTC | Fix poor documentation and variable name choice in StreamKey Issue #9284 PiperOrigin-RevId: 395443015 | 16 September 2021, 14:06:02 UTC |
69c75fb | bachinger | 08 September 2021, 09:38:11 UTC | Use identical cache keys for downloading and playing DASH segments Issue: #9370 PiperOrigin-RevId: 395429794 | 16 September 2021, 13:51:20 UTC |
ee2ef1c | andrewlewis | 08 September 2021, 09:31:49 UTC | Use correct last timestamp for C2 MP3 workaround The C2 MP3 decoder produces an extra output buffer when draining after end-of-stream is queued. This output buffer has a later timestamp than the last queued input buffer so we need to calculate its timestamp to detect a stream change in the correct position. Before this CL we used the original input buffer timestamp as the largest queued timestamp, which caused the stream change to be detected at the correct position because the original input buffer timestamp was slightly larger than the actual last output buffer timestamp. After this change we use exact calculated timestamp as the largest queued timestamp. I manually verified gapless continues to work on a device using the C2 MP3 decoder by comparing output of the MP3 gapless and MP3 gapless stripped playlists in the demo app, and that the last buffer timestamp now matches. #exofixit PiperOrigin-RevId: 395428928 | 16 September 2021, 13:49:31 UTC |
6452364 | klhyun | 08 September 2021, 04:32:34 UTC | Update PlayerView's UI when available commands change PiperOrigin-RevId: 395395015 | 16 September 2021, 13:48:55 UTC |
dd33afb | olly | 07 September 2021, 19:10:47 UTC | Fix some PlayerControlView accessibility issues - Fix focus when pausing and resuming - Prevent repeated readout of the playback position when paused Issue #9111 PiperOrigin-RevId: 395301765 | 16 September 2021, 13:46:44 UTC |
1bd96fb | olly | 07 September 2021, 17:14:46 UTC | ID3: Fix end-of-string detection for UTF-16 The current detection logic checks that the two byte terminator starts at an even position in the ID3 data, where-as it should check that it starts at an even position relative to the start of the string. Issue: #9087 PiperOrigin-RevId: 395274934 | 16 September 2021, 13:40:45 UTC |
a1d376f | olly | 07 September 2021, 13:27:02 UTC | Fix incorrect assertion in CacheDataSource #minor-release #exofixit PiperOrigin-RevId: 395233639 | 16 September 2021, 13:37:21 UTC |
624d212 | claincly | 07 September 2021, 12:30:31 UTC | Handle when additional spaces are in SDP's RTPMAP atrribute Issue: #9379 PiperOrigin-RevId: 395226701 | 16 September 2021, 13:36:40 UTC |
28d5b35 | olly | 07 September 2021, 12:14:54 UTC | Use defStyleAttr when obtaining styled attributes in player views Issue #9024 PiperOrigin-RevId: 395224661 | 16 September 2021, 13:33:32 UTC |
ced4232 | olly | 07 September 2021, 12:09:53 UTC | Duration readers: Return TIME_UNSET rather than a negative value This typically happens if there's a discontinuity in the stream. It's better to say we don't know, than it is to return a negative position. Issue: #8346 #exofixit #minor-release PiperOrigin-RevId: 395224088 | 16 September 2021, 13:30:42 UTC |
140e110 | olly | 07 September 2021, 11:52:20 UTC | Workaround ConnectivityManager SecurityException on Android 11 Issue: #9002 PiperOrigin-RevId: 395221648 | 16 September 2021, 13:29:54 UTC |
aa88e0b | kimvde | 07 September 2021, 10:17:47 UTC | Avoid OMX.qti.audio.decoder.flac on API level < 32 Before, this decoder was avoided on API levels < 30. #minor-release Issue:#9349 PiperOrigin-RevId: 395209684 | 16 September 2021, 13:01:28 UTC |
b40a6b8 | gyumin | 06 September 2021, 00:37:11 UTC | Fix FlagSet.equals on API levels below 24 PiperOrigin-RevId: 395004645 | 16 September 2021, 13:00:50 UTC |
e7a7235 | olly | 02 September 2021, 09:37:03 UTC | Remove max API level for reading TV resolution from system properties PiperOrigin-RevId: 394415421 | 16 September 2021, 12:59:07 UTC |
4a7aaaa | kimvde | 31 August 2021, 23:39:49 UTC | Fix DefaultTrackSelector Javadoc about tunneling #minor-release Issue:#9350 PiperOrigin-RevId: 394112689 | 16 September 2021, 12:58:30 UTC |
d930e07 | bachinger | 27 August 2021, 17:05:16 UTC | Implement setPlaybackParameters for CastPlayer Issue: #6784 PiperOrigin-RevId: 393374139 | 16 September 2021, 12:57:44 UTC |
8909f20 | ibaker | 25 August 2021, 16:27:14 UTC | Fix incorrect DataSourceContractTest test names These should have been updated as part of https://github.com/google/ExoPlayer/commit/1affbf9357c061149b3cb287972ea0157d1b6735 #minor-release PiperOrigin-RevId: 392913561 | 16 September 2021, 12:56:22 UTC |
152d1c7 | kimvde | 25 August 2021, 08:44:27 UTC | TsExtractor: handle packets without PTS Issue: #9294 PiperOrigin-RevId: 392844983 | 16 September 2021, 12:55:36 UTC |
66d1e2c | andrewlewis | 25 August 2021, 07:36:57 UTC | Remove stray symlinks These are unneeded for the external project #minor-release PiperOrigin-RevId: 392835942 | 16 September 2021, 12:54:09 UTC |
6f01e2f | bachinger | 20 August 2021, 17:43:15 UTC | Make constructor of PlayerNotificationManager protected Issue: #9303 #minor-release PiperOrigin-RevId: 392022613 | 16 September 2021, 12:53:40 UTC |
54418eb | olly | 20 August 2021, 11:47:58 UTC | Size dolby vision buffers for H265 by default PiperOrigin-RevId: 391965200 | 16 September 2021, 12:53:00 UTC |
287e72c | olly | 20 August 2021, 09:55:15 UTC | Add note that isLastBuffer is best-effort only PiperOrigin-RevId: 391952144 | 16 September 2021, 12:50:40 UTC |
4fd7d77 | kimvde | 19 August 2021, 16:27:18 UTC | Fix issue caused by using ForwardingPlayer and StyledPlayerControlView StyledPlayerControlView was checking whether the player is an ExoPlayer instance to set the track selector. This means that, if apps were wrapping an ExoPlayer in a ForwardingPlayer (to replace a ControlDispatcher for example), the track selector wasn't set anymore. PiperOrigin-RevId: 391776305 | 16 September 2021, 12:50:04 UTC |
64002f6 | christosts | 12 August 2021, 11:23:56 UTC | Annotate deprecated methods in ForwardingPlayer This change is needed to generate correct javadoc, otherwise these methods appear as not deprecated. #minor-release PiperOrigin-RevId: 390339092 | 16 September 2021, 12:48:15 UTC |
8f3dbdf | christosts | 11 August 2021, 15:23:49 UTC | Minor javadoc fix in BaseUrlExclusionList PiperOrigin-RevId: 390136807 | 16 September 2021, 12:47:51 UTC |
02f7aaf | christosts | 11 August 2021, 14:04:22 UTC | Merge pull request #9279 from google/dev-v2-r2.15.0 r2.15.0 | 11 August 2021, 14:04:22 UTC |
d56b6a5 | christosts | 11 August 2021, 10:27:09 UTC | Move DASH multiple base URL release note The release note was put under 2.14.2 but the feature is released in 2.15.0. #minor-release PiperOrigin-RevId: 390093836 | 11 August 2021, 11:36:56 UTC |
f344461 | christosts | 10 August 2021, 13:49:07 UTC | Bump version to 2.15.0 and tidy release notes PiperOrigin-RevId: 389871495 | 10 August 2021, 14:41:20 UTC |
067fcdb | christosts | 10 August 2021, 13:02:40 UTC | Update javadoc for 2.15.0 #minor-release PiperOrigin-RevId: 389862401 | 10 August 2021, 14:24:31 UTC |
bf462ac | christosts | 06 August 2021, 14:50:06 UTC | Fix bug in Timeline.getRemovedAdGroupCount() #minor-release PiperOrigin-RevId: 389174519 | 06 August 2021, 15:10:43 UTC |
8fb1e5c | andrewlewis | 05 August 2021, 09:36:35 UTC | Set StreamIndex Name as format.label in SS Issue: #9252 #minor-release PiperOrigin-RevId: 388889406 | 05 August 2021, 11:44:20 UTC |
6ca0b30 | claincly | 05 August 2021, 07:40:00 UTC | Handle RTSP session id properly. Issue: #9254 #minor-release We used to allow only alphanumerical characters in session id. The spec also allows "$", "-", "_", ".", "+" (RFC2326 Sections 3.4 and 15.1). PiperOrigin-RevId: 388873742 | 05 August 2021, 11:43:57 UTC |
17723c0 | aquilescanta | 04 August 2021, 16:34:56 UTC | Simplify network-related error codes This change removes ERROR_CODE_IO_NETWORK_UNAVAILABLE, ERROR_CODE_IO_NETWORK_CONNECTION_CLOSED, and ERROR_CODE_IO_DNS_FAILED in favor of keeping only ERROR_CODE_IO_NETWORK_CONNECTION_FAILED. PiperOrigin-RevId: 388715972 | 04 August 2021, 18:05:41 UTC |
f23ab8e | Christos Tsilopoulos | 04 August 2021, 17:42:00 UTC | Merge pull request #9247 from colinbarr:dev-v2-rtsp-fmtp-trailing-semicolon PiperOrigin-RevId: 388713101 | 04 August 2021, 18:04:04 UTC |
ba3f868 | olly | 04 August 2021, 13:36:13 UTC | Tweak use of TimestampAdjuster for seeking - Fix use of getTimestampOffsetUs in TsExtractor where getFirstSampleTimestampUs should have been used. - Don't reset TimestampAdjuster if it's in no-offset mode. - Improve comment clarity #minor-release PiperOrigin-RevId: 388682711 | 04 August 2021, 18:03:06 UTC |
5689e09 | christosts | 04 August 2021, 12:54:47 UTC | Set HlsSampleStreamWrapper.trackType for audio-only playlists For audio-only playlists, when formats are communicated to the app with AnalyticsListener.onDownstreamFormatChanged(), the passed MediaLoadData do not indicate this is an audio track and therefore the PlaybackStatsListener cannot derive audio format-related information. This change sets the main SampleStreamWrappers track type to AUDIO, if the master playlist contains only audio variants. Issue: #9175 #minor-release PiperOrigin-RevId: 388676060 | 04 August 2021, 18:02:50 UTC |
5b2b882 | christosts | 04 August 2021, 11:55:00 UTC | Change how AnalyticsCollector releases listeners The AnalyticsCollector releases listeners lazily so that listener callbacks triggered on the application looper after SimpleExoPlayer.release() are still handled. The change in ListenerSet to post the onEvents callback on the front of the application looper changed (correctly) how onEvents are propagated, however this made the AnalyticsCollector deliver onEvents with out-of-order EventTimes. This change fixes AnalyticsCollector to trigger onPlayerReleased() and the matching onEvents() event in the correct order. #minor-release PiperOrigin-RevId: 388668739 | 04 August 2021, 18:02:29 UTC |
5932406 | andrewlewis | 03 August 2021, 13:10:07 UTC | Use AudioTrack.isDirectPlaybackSupported on TVs only Issue: #9239 PiperOrigin-RevId: 388437614 | 04 August 2021, 18:01:19 UTC |
95dcd89 | apodob | 03 August 2021, 11:25:07 UTC | Add `font-size` support to WebVTT `CssParser`. This CL addresses the github issue [#8946](https://github.com/google/ExoPlayer/issues/8964). That issue requests support for `font-size` CSS property in WebVTT subtitle format. This CL: * Adds support for `font-size` property by extending capabilities of WebVTT `CssParser`. Implementation of `font-size` property value parsing is based on the one in `TtmlDecoder`. * Adds unit test along with test file containing WebVTT subtitles with all currently supported `font-size` units. #minor-release PiperOrigin-RevId: 388423859 | 04 August 2021, 17:57:58 UTC |
8732f2f | olly | 02 August 2021, 17:58:10 UTC | HLS: Avoid stuck-buffering issues Issue: #8850 Issue: #9153 #minor-release PiperOrigin-RevId: 388257563 | 04 August 2021, 17:57:08 UTC |
e95c42e | olly | 02 August 2021, 15:36:52 UTC | Simplify TimestampAdjuster logic - Use timestampOffsetUs == C.TIME_UNSET directly as the way of determining whether the adjuster has determined the offset, rather than relying on lastSampleTimestampUs checks for this. - Remove comment referring to lastSampleTimestampUs as holding the "adjusted PTS". Its value may not have originated from a PTS timestamp. It's also confusing to refer to it as "adjusted" given timestampOffsetUs has not been applied to it. - Fix PassthroughSectionPayloadReader to make sure it'll never output a sample with an unset timestamp. #minor-release PiperOrigin-RevId: 388226180 | 04 August 2021, 17:56:39 UTC |
ff71425 | olly | 02 August 2021, 10:31:04 UTC | Fix resetting TimestampAdjuster with DO_NOT_OFFSET Prior to this change, an initalized TimestampAdjuster that's then reset with DO_NOT_OFFSET would incorrectly continue to apply the offset. Also add a test case for this issue, and for some other simple use cases. #minor-release PiperOrigin-RevId: 388182645 | 04 August 2021, 17:55:25 UTC |
a9fdade | Christos Tsilopoulos | 02 August 2021, 15:35:43 UTC | Remove FfmpegVideoRenderer from 2.15.0 release | 02 August 2021, 15:35:43 UTC |
bbff5f0 | aquilescanta | 30 July 2021, 13:54:21 UTC | Assign missing error codes in UdpDataSource PiperOrigin-RevId: 387794965 | 02 August 2021, 10:00:34 UTC |
0bf40f8 | claincly | 30 July 2021, 13:31:30 UTC | Fix some ErrorCode assigning cases. DefaultHttpDataSource and OkHttpDataSource can share the same error code assigning logic. Fixes CronetDataSource's handling of closed connection. PiperOrigin-RevId: 387791679 | 02 August 2021, 09:59:30 UTC |
df49f90 | claincly | 30 July 2021, 12:43:22 UTC | Simplify the error code handling. PiperOrigin-RevId: 387786273 | 02 August 2021, 09:58:11 UTC |
f19a367 | aquilescanta | 30 July 2021, 11:24:05 UTC | Assign ERROR_CODE_IO_FILE_NOT_FOUND for AssetDataSource PiperOrigin-RevId: 387777480 | 02 August 2021, 09:56:51 UTC |
1bad403 | aquilescanta | 30 July 2021, 10:36:10 UTC | Add fallback case for provisioning errors PiperOrigin-RevId: 387772641 | 02 August 2021, 09:55:36 UTC |
c45d547 | aquilescanta | 30 July 2021, 10:32:16 UTC | Simplify FileDataSource exception management And change one IO_UNSPECIFIED for a ERROR_CODE_FAILED_RUNTIME_CHECK. PiperOrigin-RevId: 387772253 | 02 August 2021, 09:54:20 UTC |
e65bcef | aquilescanta | 29 July 2021, 17:17:23 UTC | Reorder DataSourceException constructors and accept nullable parameters This CL doesn't introduce functional changes. PiperOrigin-RevId: 387613057 | 29 July 2021, 20:12:30 UTC |
337d5aa | andrewlewis | 28 July 2021, 16:28:32 UTC | Fix parameter names on overridden methods The dokka javadoc generation tool complains when parameter names don't match between a method and its override. This change updates occurrences where there is currently a mismatch. PiperOrigin-RevId: 387367509 | 29 July 2021, 20:09:30 UTC |
5bc1c48 | aquilescanta | 28 July 2021, 09:10:14 UTC | Assign CronetDataSource error codes PiperOrigin-RevId: 387301144 | 29 July 2021, 20:08:02 UTC |
9c27cfc | andrewlewis | 28 July 2021, 07:47:34 UTC | Fix parameter names on overridden methods The dokka javadoc generation tool complains when parameter names don't match between a method and its override. This change updates occurrences where there is currently a mismatch. Notable renamings that might be controversial: - `onPlaybackStateChanged(int state)` to `onPlaybackStateChanged(int playbackState)` affected a lot of lines but seems more consistent with other '-Changed' methods. - `handleMessage(int messageType, Object payload)` to `handleMessage(int messageType, Object message)` - `ExtractorInput` and `DataSource` inherit `DataReader` which had `read(byte[] target, ...`, while data sources normally called the first parameter `buffer`. I have standardized these all to use `buffer` even though it looks out of place in the `ExtractorInput` interface (which has more `read` methods with `target`). PiperOrigin-RevId: 387290360 | 28 July 2021, 08:15:29 UTC |
41fe5aa | ibaker | 27 July 2021, 19:27:03 UTC | Throw IllegalStateException from Util.gzip() instead of AssertionError The documentation on ByteArrayOutputStream and GZIPOutputStream isn't completely clear that an IOException will *never* happen, so AssertionError seems a bit strong - but it seems very unlikely, so we just use IllegalStateException instead. #minor-release PiperOrigin-RevId: 387169297 | 28 July 2021, 08:14:09 UTC |
1aa76b5 | aquilescanta | 27 July 2021, 17:43:23 UTC | Rename error code IO_BAD_HTTP_REQUEST to IO_INVALID_HTTP_CONTENT_TYPE In order to avoid confusion with HTTP 400 Bad request. PiperOrigin-RevId: 387145057 | 27 July 2021, 17:57:50 UTC |
0df62a4 | aquilescanta | 27 July 2021, 17:37:33 UTC | Add ERROR_CODE_FAILED_RUNTIME_CHECK for failed checks PiperOrigin-RevId: 387143625 | 27 July 2021, 17:56:25 UTC |
f9d9420 | bachinger | 27 July 2021, 17:37:13 UTC | Do not use index access with CopyOnWriteArrayList PiperOrigin-RevId: 387143449 | 27 July 2021, 17:54:54 UTC |
7941b87 | bachinger | 27 July 2021, 17:53:18 UTC | Merge pull request #9219 from DolbyLaboratories:dev-v2-eac3-codec-comment PiperOrigin-RevId: 387090075 | 27 July 2021, 17:53:18 UTC |
d497541 | aquilescanta | 27 July 2021, 09:36:35 UTC | Remove calls to initCause In favor of setting the cause in the constructor, which allows some code simplifications. PiperOrigin-RevId: 387062636 | 27 July 2021, 11:30:19 UTC |
f53f44c | olly | 26 July 2021, 22:16:24 UTC | Move NetworkTypeObserver 5G-NSA config to separate Config class PiperOrigin-RevId: 386970718 | 27 July 2021, 11:28:50 UTC |
9e615ce | olly | 26 July 2021, 21:57:06 UTC | Update dev guide to use non-deprecated factory #minor-release PiperOrigin-RevId: 386966219 | 27 July 2021, 11:27:23 UTC |
cdf26a0 | claincly | 26 July 2021, 18:23:00 UTC | Remove error code inference in DataSourceException. The inference is used when nesting DataSourceExceptions. It is removed because nesting does not add additional value in surfacing the exceptions, and it is better to assign an error code at the throw site (in the "leaf" or the bottom most data source). PiperOrigin-RevId: 386919118 | 27 July 2021, 11:26:07 UTC |
873e83c | andrewlewis | 26 July 2021, 15:11:03 UTC | Fix `@see` javadoc syntax Doclava outputs an error when handling the javadoc where the `@see` clause is an anchor but also has other content. PiperOrigin-RevId: 386875722 | 27 July 2021, 11:24:44 UTC |
3f9093c | bachinger | 26 July 2021, 12:31:17 UTC | Add BaseUrlExlusionList and use it to select base URLs Issues: #771 and #7654 PiperOrigin-RevId: 386850707 | 27 July 2021, 11:23:34 UTC |
c6e860b | olly | 26 July 2021, 12:19:17 UTC | Fix 1 ErrorProneStyle finding: * @Flags is not a TYPE_USE annotation, so should appear before any modifiers and after Javadocs. (see go/java-style#s4.8.5-annotations) This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Suggest a fix on the CL (go/how-to-suggest-fix). * Revert this CL, by replying "REVERT: <provide reason>" * File a bug under go/error-prone-bug for category ErrorProneStyle if the change looks generally problematic. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth PiperOrigin-RevId: 386849198 | 27 July 2021, 11:22:08 UTC |
4c97b76 | olly | 26 July 2021, 11:25:41 UTC | Add exoplayer.dev page for network stack integration PiperOrigin-RevId: 386841818 | 27 July 2021, 11:20:43 UTC |
f9162c0 | bachinger | 27 July 2021, 11:19:29 UTC | Merge pull request #9207 from dlafayet:ruby-position PiperOrigin-RevId: 386836747 | 27 July 2021, 11:19:29 UTC |
3512755 | bachinger | 23 July 2021, 20:33:48 UTC | Exclude failing playlist before the HlsMediaPeriod has been prepared PiperOrigin-RevId: 386521255 | 27 July 2021, 11:18:16 UTC |
33fa987 | aquilescanta | 23 July 2021, 18:31:56 UTC | Assign ERROR_CODE_IO_UNSPECIFIED to unclassified IOExceptions The reason this was not an IO error code is that before other IOExceptions were classified, this catch would grab non-IO error codes, like ParserException. Now that we are getting closer to the final state, we can assume IOExceptions are ok to classify as IO error codes (unlike, for example, ParserExceptions or DrmSessionExceptions). PiperOrigin-RevId: 386496752 | 27 July 2021, 11:17:00 UTC |
3488c04 | olly | 23 July 2021, 14:43:05 UTC | Refine LoadErrorHandlingPolicy Javadoc PiperOrigin-RevId: 386453305 | 27 July 2021, 11:15:24 UTC |
2ee6d6d | bachinger | 23 July 2021, 13:29:42 UTC | Make getFallbackSelection nullable to indicate disabling of exclusion PiperOrigin-RevId: 386442542 | 27 July 2021, 11:14:04 UTC |
cae3091 | olly | 23 July 2021, 12:12:05 UTC | Rollback of https://github.com/google/ExoPlayer/commit/4c10d2bd4c046ede62dd47c89cab127483c17cdc *** Original commit *** Migrate /-as-division to math.div If google3 is the source-of-truth for this third_party code (or if this is legacy code that is no longer synced with an external source), just LGTM this CL and Rosie will submit it. If not, you should patch the upstream source of these files, since we will be disabling support for /-as-division in google3 before support is formally removed from the language. See go/lsc-slash-as-division-deprecation. Tested: TAP found no affected targets. No targets were b... *** PiperOrigin-RevId: 386432441 | 23 July 2021, 13:14:31 UTC |
8e29e76 | kim-vde | 23 July 2021, 13:12:29 UTC | Merge pull request #9163 from ProtoScott:feature/dtsx_codec_updates PiperOrigin-RevId: 386428758 | 23 July 2021, 13:12:29 UTC |
72cf9c3 | kimvde | 23 July 2021, 07:25:39 UTC | Deprecate ControlDispatcher and DefaultControlDispatcher PiperOrigin-RevId: 386401066 | 23 July 2021, 13:11:00 UTC |
d6c721f | aquilescanta | 22 July 2021, 14:17:10 UTC | Move DRM exception classification method to public API PiperOrigin-RevId: 386232697 | 23 July 2021, 13:09:29 UTC |
b33496a | kimvde | 22 July 2021, 13:46:44 UTC | Deprecate ControlDispatcher in MediaSessionConnector PiperOrigin-RevId: 386227630 | 23 July 2021, 13:07:55 UTC |
13ff72d | claincly | 22 July 2021, 13:26:58 UTC | Use RTSP header names as defined in the spec. Using all lower case RTSP headers is perfectly valid, as the spec mandates case insensitively. However, some RTSP servers do not implement the RTSP spec closely and does not recognize the lower case headers. This change aims at using the header names as defined in the RTSP spec to maximize compatibility. Issue: #9182 PiperOrigin-RevId: 386224566 | 23 July 2021, 13:05:50 UTC |
5c95a59 | ybai001 | 23 July 2021, 04:00:22 UTC | Update E-AC3-JOC Codec String Name and Comment | 23 July 2021, 04:00:22 UTC |
08d8141 | ybai001 | 23 July 2021, 03:38:52 UTC | Merge pull request #22 from google/dev-v2 Merge from Google dev-v2 branch | 23 July 2021, 03:38:52 UTC |
e2f1285 | kimvde | 22 July 2021, 11:13:55 UTC | Document getAvailableCommands in BasePlayer PiperOrigin-RevId: 386207381 | 22 July 2021, 12:49:21 UTC |
ab416f4 | olly | 22 July 2021, 11:10:02 UTC | Release ownedSurface before stopping the player on timeout PiperOrigin-RevId: 386206960 | 22 July 2021, 12:48:06 UTC |
fe5a7fc | olly | 22 July 2021, 09:31:07 UTC | Remove trailing whitespace PiperOrigin-RevId: 386194874 | 22 July 2021, 11:07:38 UTC |
d9ad91d | olly | 22 July 2021, 09:28:09 UTC | Adding detail in release notes about PendingIntent PiperOrigin-RevId: 386194496 | 22 July 2021, 11:06:23 UTC |