https://github.com/google/ExoPlayer

sort by:
Revision Author Date Message Commit Date
d73d64b Merge pull request #6619 from google/dev-v2-r2.10.7 r2.10.7 06 November 2019, 13:06:22 UTC
e30f4f2 Bump version to 2.10.7 PiperOrigin-RevId: 278658259 05 November 2019, 18:37:56 UTC
9ac13f9 Fix inverted arguments in FlacReader format creation PiperOrigin-RevId: 278332587 05 November 2019, 17:41:29 UTC
1ea878a Add parameter names to Format creation PiperOrigin-RevId: 277963928 05 November 2019, 17:41:04 UTC
6c7fbe8 Add shuffle and repeat modes to media session playback state invalidation Which ensures both get updated when the MediaSessionConnector player changes. Issue:#6582 PiperOrigin-RevId: 277254889 05 November 2019, 17:40:35 UTC
accb31e Reset MediaSession shuffle/repeat modes if player is null - This is for consistency with PlayerControlView. - Also update PlayerNotificationManager notification if shuffle mode changes. This is for consistency with what happens when the repeat mode changes. By default the notification will be unchanged, but custom implementations can extend and then override createNotification, and given these modes change infrequently it feels like we can just do this. The alternative for achieving consistency would be to remove handling of repeat mode changes. Issue: #6582 PiperOrigin-RevId: 277925094 05 November 2019, 17:39:01 UTC
cc94ae7 Fix typo in WavHeader class PiperOrigin-RevId: 277910360 05 November 2019, 17:38:24 UTC
7ada1a8 Fix detection of Dolby Atmos in HLS E-AC3 with JOC is signaled using the CHANNELS attribute for HLS: https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices/hls_authoring_specification_for_apple_devices_appendices PiperOrigin-RevId: 277680300 05 November 2019, 17:37:41 UTC
f4b9042 Recreate Opus decoder for stream change The framework opus decoder discards some samples after a call to flush(). Because we flush a decoder that is being retained across an input format change, this means that the start of audio gets truncated when transitioning to a new opus stream. See also https://android.googlesource.com/platform/frameworks/av/+/refs/heads/android10-release/media/libstagefright/codecs/opus/dec/SoftOpus.cpp. Avoid this by recreating opus decoders instead of flushing them. It seems fine to do this for all opus decoders as reinitialization should be cheap, OEM-provided implementations may also discard samples and playback shouldn't be interrupted on reinitialization due to the downstream AudioTrack buffer. PiperOrigin-RevId: 277458759 05 November 2019, 17:37:12 UTC
acb8439 Fix incorrect anamorphic handling in Leanback extension The leanback library doesn't know about non-square pixels. So if we're playing content that uses non-square pixels, we need to adjust the video dimensions that we provide to leanback such that it renders the video with the correct aspect ratio. PiperOrigin-RevId: 277042560 05 November 2019, 17:35:34 UTC
6788a83 Use -Float.MAX_VALUE for Cue#DIMEN_UNSET Float.MIN_VALUE is very close to zero: PiperOrigin-RevId: 276674142 05 November 2019, 17:33:50 UTC
6aa792a Document error handling in the Extractor interface PiperOrigin-RevId: 276660235 05 November 2019, 17:33:24 UTC
2c72113 Update parseStbl to handle edit lists & gapless info Without this, a subtitle track empty edit list used to offset the start of subtitles is ignored. Also the current code seems to depend on the order in which we parse the tracks (audio first means we have gapless info when we parse video track, while video first we wouldn't). It's not clear why we can't handle both edit lists & gapless info PiperOrigin-RevId: 276029744 05 November 2019, 17:32:13 UTC
2dbc575 Fix NPE in FakeAdaptiveMediaPeriod. The compositeSequenableLoader was causing NPEs in isLoading. Initializing it upfront prevents this problem and is in line with what we do in all real MediaPeriods. PiperOrigin-RevId: 275491511 05 November 2019, 17:30:17 UTC
41b3fc1 Merge pull request #6542 from google/dev-v2-r2.10.6 r2.10.6 18 October 2019, 20:32:24 UTC
2671ff0 Added an ICY header workaround for unseekable MP3 streams. Issue:#6537 PiperOrigin-RevId: 275477266 18 October 2019, 17:15:07 UTC
b0d0914 Round impossible H264 resolutions up to valid values for capabilities check If an odd resolution is impossible in the specification itself, then we know that the caller is passing invalid data. Round up on the assumption it's a rounding error so that playback can proceed. Issue: #6551 PiperOrigin-RevId: 275226813 17 October 2019, 12:21:27 UTC
40dbe10 Align PlaybackSuppressionReason java doc with method doc. Same change as done in https://github.com/google/ExoPlayer/commit/c49388aca2047ed7680e7d8834def4f769060e2d. PiperOrigin-RevId: 274894288 15 October 2019, 22:10:47 UTC
79da521 Fix release notes. Toggle publish to false. 14 October 2019, 16:16:28 UTC
55ff555 Fix DashManifestParserTest in release branch 14 October 2019, 16:14:41 UTC
a9a1cb7 Fix diverged root build.gradle files PiperOrigin-RevId: 274568961 14 October 2019, 13:58:15 UTC
6457a4a Register cast module PiperOrigin-RevId: 274568660 14 October 2019, 13:58:08 UTC
657b47c Fix broken Javadoc PiperOrigin-RevId: 274564800 14 October 2019, 13:19:52 UTC
32b0474 Clean up playback suppression PiperOrigin-RevId: 274561876 14 October 2019, 13:11:31 UTC
0cda57a Bump version to 2.10.6 PiperOrigin-RevId: 274534626 14 October 2019, 13:10:28 UTC
c02f3dd Handle legacy DASH audio channel configuration Issue: #6523 PiperOrigin-RevId: 274160232 13 October 2019, 11:44:29 UTC
5a6fdaa Don't set a playback suppression reason for permanent audio focus loss It's documented to be for temporary loss only (i.e. the case where externally reported playWhenReady is still true) PiperOrigin-RevId: 274129922 13 October 2019, 11:42:52 UTC
0425264 Update Gradle version PiperOrigin-RevId: 273971120 13 October 2019, 11:37:48 UTC
3b9a9c9 Enable ID3-in-EMSG for HLS streams This supports both chunkless & traditional preparation PiperOrigin-RevId: 273938344 13 October 2019, 11:37:08 UTC
6934c6f Fix bogus reporting of audio focus loss Playback cannot be suppressed if playWhenReady=false PiperOrigin-RevId: 273726084 13 October 2019, 11:33:56 UTC
6046e92 Merge pull request #6502 from caiiiyua:bug_default_dash_chunk_source_wrong_segmentnumshift PiperOrigin-RevId: 273549830 13 October 2019, 11:29:27 UTC
0249058 Parse Label elements for adaptation sets Issue: #6297 PiperOrigin-RevId: 273297284 13 October 2019, 11:29:18 UTC
904e3f8 Define default colors as constants It's confusing that app:played_color also modifies the colors that derive from it, but the corresponding setter does not. It seems generally clearer just to define constants. PiperOrigin-RevId: 273249557 13 October 2019, 11:19:04 UTC
97cfcb5 Cleanup: Only clamp seek positions for FFWD/RWND It's confusing that seekTo(player, windowIndex, positionMs) does clamping, because it only makes sense if windowIndex is the current window. Note: This doesn't actually fix anything (other than code clarity). In cases where we were passing other windowIndices, we always passed 0 as the position and so the clamping logic wouldn't have had any effect. PiperOrigin-RevId: 272857104 13 October 2019, 11:18:23 UTC
02c3449 Merge pull request #6379 from wingyippp:flac-seek-map-two-points PiperOrigin-RevId: 272856747 13 October 2019, 11:18:12 UTC
fabdb84 Exclude .li files in ExoPlayer's .hgignore These seem to be created by the Android Studio layout inspector PiperOrigin-RevId: 272856118 13 October 2019, 11:18:00 UTC
5e090d8 Remove unnecessary DeleteLocalRef usage Keeping the ones inside loops, because theoretically they can be useful there (in practice, for this use case, it's highly unlikely to make any difference). PiperOrigin-RevId: 272834073 13 October 2019, 11:17:45 UTC
495b418 Add missing player null check PiperOrigin-RevId: 272654378 13 October 2019, 11:17:10 UTC
722722d Fix GL error logging Log only if an error occured. PiperOrigin-RevId: 272618322 13 October 2019, 11:16:50 UTC
32afc33 Make factories return specific types PiperOrigin-RevId: 272614917 13 October 2019, 11:16:38 UTC
2d0d4c7 Clean up DashManifestParserTest Also improve some tests by asserting the parser is left in the correct position (assertNextTag). PiperOrigin-RevId: 272614768 13 October 2019, 11:16:25 UTC
e346856 Minor upstream cleanup PiperOrigin-RevId: 272614610 13 October 2019, 11:16:08 UTC
e0c8cbe Pass the raw ICY metadata through IcyInfo The ICY 'spec' isn't really clear/tight enough to do anything more specific than this I think. Issue:#6476 PiperOrigin-RevId: 272405322 13 October 2019, 11:13:28 UTC
15df31b Remove references to cast_receiver_app PiperOrigin-RevId: 272010353 13 October 2019, 11:11:46 UTC
a09960b Move HLS mapped track picking into a separate method This helps reduce the amount of nesting in HlsSampleStreamWrapper.track() PiperOrigin-RevId: 271983779 13 October 2019, 11:08:24 UTC
d9b60ed Remove duplicated tracksEnded check in HlsSampleStreamWrapper PiperOrigin-RevId: 271364512 13 October 2019, 11:04:28 UTC
87138ce Reshuffle {audio,video}SampleQueue{Index,MappingDone} into fields mapped by type PiperOrigin-RevId: 271364200 13 October 2019, 11:04:12 UTC
ad59304 Forward isPlaying/playbackSuppressionReason changes to analytics listeners. PiperOrigin-RevId: 271347407 13 October 2019, 11:03:39 UTC
7e46d34 Add EventListener.onPlaybackSuppressionReasonChanged Adding this callback makes sense for completeness (we have similar callbacks for all other playback state properties), and also to detect audio focus loss while buffering which would currently trigger no callback because isPlaying is still false. Issue:#6203 PiperOrigin-RevId: 271347351 13 October 2019, 11:03:18 UTC
a3667de Try initializing ADAPTATION_WORKAROUND_BUFFER as a byte[] PiperOrigin-RevId: 270999947 13 October 2019, 11:01:34 UTC
76a1dd3 Use Player.isPlaying in appropriate places. This method should be used where we previously checked for active playback by state==READY and playWhenReady=true. Using the new method ensures we take audio focus into account for these usages. Also update some method naming to avoid confusion with the isPlaying method. Issue:#6203 PiperOrigin-RevId: 270910982 13 October 2019, 11:01:04 UTC
90b5212 Simplify the ffmpeg build instructions a little In-line EXOPLAYER_ROOT which only has one reference. And change FFMPEG_EXT_PATH to always include "/jni" PiperOrigin-RevId: 270866662 13 October 2019, 10:59:25 UTC
719029d Add a `cd` command to ExoPlayer clone instructions With this missing, the `checkout` command errors with: $ git checkout release-v2 fatal: not a git repository (or any of the parent directories): .git PiperOrigin-RevId: 270670796 13 October 2019, 10:59:04 UTC
fec8275 Change default bandwidth fraction in AdaptiveTrackSelection. A reduced fraction of 0.7 was shown to better balance the rebuffer/quality trade-off. PiperOrigin-RevId: 270670465 13 October 2019, 10:58:39 UTC
176d211 Remove the content_not_playing issue template 08 October 2019, 09:08:38 UTC
3e5c66e Update question.md 01 October 2019, 10:59:03 UTC
a291777 Update feature_request.md 01 October 2019, 10:58:45 UTC
00ddb25 Update content_not_playing.md 01 October 2019, 10:58:19 UTC
242d50b removed validation comment 01 October 2019, 10:57:58 UTC
bef130a Merge pull request #6371 from google/dev-v2-r2.10.5 r2.10.5 21 September 2019, 22:37:41 UTC
c9fc0da When the HLS container format is not packed audio, reset timestmap offset Issue:#6444 PiperOrigin-RevId: 270252126 20 September 2019, 19:33:13 UTC
47bfa06 Remove Player.State annotation from 2.10.5 20 September 2019, 18:57:40 UTC
38d6c31 Add 2.10.5 release date PiperOrigin-RevId: 270295080 20 September 2019, 17:13:49 UTC
d03c1dc Add dates to releases in RELEASENOTES. PiperOrigin-RevId: 270276830 20 September 2019, 17:13:19 UTC
ade6586 Remove stray line of code (it's duplicated below) PiperOrigin-RevId: 270289374 20 September 2019, 17:07:14 UTC
bbb739d Fix playback speed in MediaSessionConnector The playback speed set in MediaSession's PlaybackStateCompat needs to be the actual speed at which the playback position progresses and not the user-defined target speed. This fixed a bug where the position advances although the player lost audio focus. Issue:#6203 PiperOrigin-RevId: 269295249 20 September 2019, 17:07:14 UTC
f8d81d0 Add Player.isPlaying and Player.getPlaybackSuppressionReason The player may suppress playback when waiting for audio focus even if the state==Player.READY. There is currently no getter or callback to obtain this piece of information for UI updates or analytics. Also, it's a important derived state to know whether the playback position is advancing. Add isPlaying and the corresponding callback to allow retrieving this information more easily. Issue:#6203 PiperOrigin-RevId: 268921721 20 September 2019, 17:07:10 UTC
9557868 Update release notes - Remove HTTP/2 Fix note, since the issue is still present - Add release note for fatal error handling fix PiperOrigin-RevId: 269902736 18 September 2019, 22:28:39 UTC
1be1b0a Improve old release notes PiperOrigin-RevId: 269781924 18 September 2019, 22:28:31 UTC
556a995 Avoid retrying fatal errors Also clear fatal errors on seek operations PiperOrigin-RevId: 269780886 18 September 2019, 22:28:19 UTC
73e35ab Bump version to 2.10.5 PiperOrigin-RevId: 269582832 18 September 2019, 22:26:44 UTC
2fca01b Make flags contiguous: There's no reason for the gap :) PiperOrigin-RevId: 269514872 17 September 2019, 16:08:12 UTC
57370b3 Update translations PiperOrigin-RevId: 269521864 17 September 2019, 16:07:55 UTC
32a8625 allowing 36 characters for shuffle mode off PiperOrigin-RevId: 268478545 17 September 2019, 16:06:50 UTC
cf3cfa1 allow 33 characters for strings of shuffle on/off PiperOrigin-RevId: 268238764 17 September 2019, 16:06:43 UTC
b2aa0ae provide content description for shuffle on/off button PiperOrigin-RevId: 266884166 17 September 2019, 16:06:13 UTC
66ba8d7 Fix propagation of HlsMetadataEntry's in HLS chunkless preparation PiperOrigin-RevId: 263356275 17 September 2019, 15:34:37 UTC
47e405e Add a metadata argument to Format factory methods used in HLS Required for propagation of HlsMetadataEntry's in chunkless preparation. PiperOrigin-RevId: 263324345 17 September 2019, 15:34:13 UTC
b4a2f27 Expand FakeSampleStream to allow specifying a single sample I removed the buffer.flip() call because it seems incompatible with the way MetadataRenderer deals with the Stream - it calls flip() itself on line 126. Tests fail with flip() here, and pass without it... PiperOrigin-RevId: 263381799 17 September 2019, 01:41:32 UTC
70731fe Further tweaking of release notes 17 September 2019, 01:24:54 UTC
772b139 Tweak release notes 17 September 2019, 01:09:09 UTC
1a4b1e1 Revert "Add HTTP request parameters (headers) to DataSpec." This reverts commit c3d6be3afdd7c0ca68dba15e443bc64aa3f61073. 17 September 2019, 00:53:40 UTC
26e2930 Merge pull request #6158 from xirac:dev-v2 PiperOrigin-RevId: 268240722 17 September 2019, 00:51:50 UTC
560c8c8 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 Merge pull request #6178 from xirac:feature/text-track-score PiperOrigin-RevId: 259707359 17 September 2019, 00:31:27 UTC
06a374e Clean up release notes 17 September 2019, 00:25:53 UTC
480f737 Upgrade to OkHttp 3.12.5 Issue: #4078 PiperOrigin-RevId: 268887744 17 September 2019, 00:11:05 UTC
4eda96d disable seekbar in media style notification for live stream ISSUE: #6416 PiperOrigin-RevId: 268673895 17 September 2019, 00:09:02 UTC
23ddfaa 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 Fix decoder selection for E-AC3 JOC streams Issue: #6398 PiperOrigin-RevId: 267563795 17 September 2019, 00:08:06 UTC
72aa150 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 Fix init data handling for FLAC in MP4 Issue: #6396 PiperOrigin-RevId: 267536336 17 September 2019, 00:04:24 UTC
332afc9 move transparency values of buttons to resources to make it accessible for customization PiperOrigin-RevId: 266880069 16 September 2019, 23:57:53 UTC
c3f3b1b Clarify LoadErrorHandlingPolicy's loadDurationMs javadocs PiperOrigin-RevId: 266797383 16 September 2019, 23:57:21 UTC
c879bbf move transparency of shuffle mode off button to bitmap PiperOrigin-RevId: 266795413 16 September 2019, 23:56:55 UTC
525d032 Fix exception message PiperOrigin-RevId: 266790267 16 September 2019, 23:56:32 UTC
4712bcf use isPlaying to determine which notification action to display in compact view PiperOrigin-RevId: 266782250 16 September 2019, 23:54:18 UTC
284a672 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 Merge pull request #6303 from ittiam-systems:rtmp-3.1.0 PiperOrigin-RevId: 266407058 02 September 2019, 13:43:00 UTC
f05d67b Simplify androidTest manifests & fix links to use https PiperOrigin-RevId: 266396506 02 September 2019, 13:39:02 UTC
back to top