https://github.com/google/ExoPlayer

sort by:
Revision Author Date Message Commit Date
faa296a Add`<meta>` tag to remove exoplayer2 javadoc from search indexes https://developers.google.com/search/docs/crawling-indexing/block-indexing#meta-tag The javadoc will remain hosted on exoplayer.dev, so direct links will continue to work, but this will remove the pages from search engines so queries for names like `LoadControl` should be more likely to reach the current media3 docs instead. PiperOrigin-RevId: 621838892 (cherry picked from commit da5b9afd68af76cb49fc6daa108ea657d81ecdbb) 04 April 2024, 15:01:39 UTC
ee6ba28 Redirect exoplayer.dev pages to media3 on d.android.com Two pages don't have media3 equivalents, so are redirected to https://developer.android.com/media/media3/exoplayer instead: * https://exoplayer.dev/design-documents.html * https://exoplayer.dev/pros-and-cons.html PiperOrigin-RevId: 621497706 (cherry picked from commit e6e7240df758b9ed6d757c77ca8855edd6aa7976) 04 April 2024, 08:49:24 UTC
d90d729 Update exoplayer2 README to document this repo is no longer updated PiperOrigin-RevId: 621497237 (cherry picked from commit fb5f4132b6eb2af5edb8afe8e43546183e0102a5) 04 April 2024, 08:49:21 UTC
243e6c2 Fix media3-migration.sh 05 March 2024, 14:41:36 UTC
9c9f5a0 Tweak wording of exoplayer2 bug template This ensures the link to the new project is included in the filed issue. Currently it's only visible when filing. Example of current result: https://github.com/google/ExoPlayer/issues/11367 PiperOrigin-RevId: 595643883 (cherry picked from commit 14bef9e68b659c0266fb3d6adcd990fe21a12527) 04 January 2024, 10:49:47 UTC
5d4b706 Clean-up multi-line strings in YAML issue templates * If we don't want any newlines in the result, it's better to use `>` * If we want newlines (e.g. for markdown) then we should ensure the string **only** contains the newlines we want, because GitHub (unlike other markdown renderers) preserves single newlines in the output, leading to ugly newlines dictated by the source. Also remove a markdown-style link that isn't renderered as markdown. PiperOrigin-RevId: 590309749 (cherry picked from commit e3bb79fe7a2cdd72bd24318ed182b2d8cf5dafb9) 13 December 2023, 09:48:15 UTC
5420b8a Try and fix invalid bug.yml issue template 12 December 2023, 14:46:00 UTC
ce8b273 Update issue templates to make deprecation of exoplayer2 more obvious PiperOrigin-RevId: 590175639 (cherry picked from commit 9781be5084acff73d1516245d3698115156a99fc) 12 December 2023, 14:36:25 UTC
5df25ae Update exoplayer2 deprecation note now 2.19.1 is released PiperOrigin-RevId: 569447886 (cherry picked from commit 7a92a06ab44e4c1f8a1d33d966262eebb0dcc53e) 29 September 2023, 11:20:36 UTC
03cadd2 Merge branch 'release-v2-r2.19.1' into release-v2 21 August 2023, 07:10:42 UTC
f523d6c Update javadoc for 2.19.1 #minor-release PiperOrigin-RevId: 558098987 (cherry picked from commit 10748c3a3cba7e9bdede8fda439a852111688cc8) 21 August 2023, 07:08:11 UTC
c311970 Bump version numbers to Media3 1.1.1 and ExoPlayer 2.19.1 PiperOrigin-RevId: 555987303 (cherry picked from commit 0a62b342fc48173def9bc416b91c1fa83e7ec5ce) 14 August 2023, 10:23:08 UTC
48c3b3e Update release notes for ExoPlayer 2.19.1 PiperOrigin-RevId: 555956086 (cherry picked from commit f37f792f184947f167f6dff8860dc3bd631b8683) 14 August 2023, 10:23:08 UTC
8220b1b Bump version numbers to Media3 1.1.1 and ExoPlayer 2.19.1 PiperOrigin-RevId: 555948664 (cherry picked from commit 5501f1335c98f4b771fc24dfee781e41302dbfef) 14 August 2023, 10:23:08 UTC
863b443 Fix Gradle Lint with @RequiresApi and SDK version Gradle Lint doesn't recognise `checkState` assertion and TargetApi should only ever be used for suppressing a bug in Android Lint. Hence, we keep @RequiresApi and add an if-statement explicitly. Also, fixes >26 to >=26 for the version check. PiperOrigin-RevId: 555144577 (cherry picked from commit 5720b6197479f3cd54b82d2e1e3ec9b50397e267) 09 August 2023, 13:31:48 UTC
33ad3c2 Bump IMA SDK version to 3.30.3 #minor-change PiperOrigin-RevId: 555130308 (cherry picked from commit afccebb8fcdd0722ed183ac6ad80ae9786141efc) 09 August 2023, 12:16:14 UTC
b8e1a0b Verify source is not released before updating ad playback state Updates to the ad playback state are posted on the main handler, so they may arrive after the source has already been released (=the internal MediaSource is null). This can cause NPEs. PiperOrigin-RevId: 555102426 (cherry picked from commit eb0e7aced70d16aec0f6b67c0bb5c290ab87be54) 09 August 2023, 09:51:56 UTC
a3884d8 Merge pull request #528 from zgzong:patch-2 PiperOrigin-RevId: 554869426 (cherry picked from commit 7e3547299445cf3b5c2506abb4449bbb9a997130) 10 August 2023, 13:26:00 UTC
7f5c676 Add field object type (ot) Added this CMCD-Object field to Common Media Client Data (CMCD) logging. #minor-release PiperOrigin-RevId: 554843305 (cherry picked from commit f11106cbfe806f02e3bdb162cb62af2672911960) 08 August 2023, 16:09:07 UTC
504020a Use ceiling divide logic in `AudioTrackPositionTracker.hasPendingData` This fixes a bug with playing very short audio files, introduced by https://github.com/google/ExoPlayer/commit/fe710871aad3e4e6b4e0798f1cf762d5ecfebedb The existing code using floor integer division results in playback never transitioning to `STATE_ENDED` because at the end of playback for the short sample clip provided `currentPositionUs=189937`, `outputSampleRate=16000` and `(189937 * 16000) / 1000000 = 3038.992`, while `writtenFrames=3039`. This is fixed by using `Util.ceilDivide` so we return `3039`, which means `AudioTrackPositionTracker.hasPendingData()` returns `false` (since `writtenFrames == durationUsToFrames(getCurrentPositionUs(/* sourceEnded= */ false))`). Issue: androidx/media#538 PiperOrigin-RevId: 554481782 (cherry picked from commit a9a2451ccbd08649da20936407076681fe3ad40f) 07 August 2023, 15:17:31 UTC
212a912 Check command availability before getting tracks in PlayerView #minor-release PiperOrigin-RevId: 554451569 (cherry picked from commit 2063db12da9174a1f7b31e6e4b34e6ce226f30be) 07 August 2023, 13:01:49 UTC
5ccbeec Update translations PiperOrigin-RevId: 554439196 (cherry picked from commit 5984b077b66cd86cc1b11138576c58088c31ed0b) 07 August 2023, 11:54:19 UTC
6c73b78 Simplify and accurately compute chunk duration Refactored `CmcdLog` to `CmcdHeadersFactory` for improved representation of its purpose and updated implementations. #minor-change PiperOrigin-RevId: 552831995 01 August 2023, 16:48:19 UTC
97d453f Fix wrong documentation and add missing annotations #minor-release PiperOrigin-RevId: 552749407 (cherry picked from commit ed071ab21136f438c9a7fd05093de4107d014cc5) 01 August 2023, 10:21:33 UTC
5875d4f Fix parsing of H.265 sequence parameter sets Fix short term reference picture list parsing. Before this change, `deltaPocS0` was derived by adding one to the value of the syntax element `delta_poc_s0_minus1`, but (maybe surprising) the specification actually says that `DeltaPocS0[stRpsIdx][i]` should be assigned the negation `-(delta_poc_s0_minus1[i] + 1)` on the first iteration, then that value added to the previous value on previous iterations. See equations (7-67) to (7-70) in the 2021-08 version of the H.265/HEVC specification. Also read the number of long term reference pictures once rather than on every loop iteration (subsection 7.3.2.2.1). PiperOrigin-RevId: 551852999 (cherry picked from commit 2fe67266a1d13c69e09c37b0aadf6015bb37e7b7) 28 July 2023, 15:00:13 UTC
0d60d6a Fix ms to us conversion bug in DecoderVideoRenderer The current code multiplies the value by 1000 twice, effectively converting to nanoseconds. #minor-release PiperOrigin-RevId: 551129750 (cherry picked from commit f6f86fdefc533d701306c3b26469a6e07343e62e) 26 July 2023, 08:43:03 UTC
a05c5ff Add comment about out-of-order timestamps in `AtomParsers.parseStbl` PiperOrigin-RevId: 550596173 (cherry picked from commit 2a53b529061b801cf60112c217278c1f88e7f249) 24 July 2023, 17:05:04 UTC
9608319 Tighten the demo app's handling of `DrmInitData` for downloads This code is Widevine specific. `OfflineLicenseHelper.downloadLicense` requires the passed `Format` to have a `DrmInitData.SchemeData` with Widevine UUID and non-null `data` field. The demo app tries to check this in advance (to avoid an exception later), but its checks are looser than those made by `OfflineLicenseHelper`. This change tightens the checks to match. Issue: androidx/media#512 PiperOrigin-RevId: 549587506 (cherry picked from commit b7988e2c856ca05e28d862c8a7c7739402d4d40d) 20 July 2023, 11:03:36 UTC
6c6d50d Add field measured throughput (mtp) Updated `ExoTrackSelection` to provide the most recent bitrate estimate, enabling the inclusion of measured throughput (mtp) as a CMCD-Request field in Common Media Client Data (CMCD) logging. Additionally, made changes to the `checkArgument` methods in `CmcdLog` to prevent the use of default values in certain cases. #minor-release PiperOrigin-RevId: 549369529 (cherry picked from commit 79696182226b10dce2ac2756f317d217a8bcf23c) 19 July 2023, 18:10:56 UTC
e7a8283 Add fields top bitrate(tb) and object duration(d) Added these CMCD-Object fields to Common Media Client Data (CMCD) logging. #minor-release PiperOrigin-RevId: 548950296 (cherry picked from commit 43fc92167bc58070ff19dd39bb6b66f3d35b3b84) 18 July 2023, 10:24:34 UTC
7feb208 Fix race condition in clipped sample streams The streams return end-of-input if they read no samples, but know that they are fully buffered to at least the clipped end time. This helps to detect the end of stream even if there are no new buffers after the end of the clip (e.g. for sparse metadata tracks). The race condition occurs because the buffered position is evaluated after reading the sample. So between reading "no sample" and checking the buffered position, the source may have loaded arbitrary amounts of data. This may lead to a situation where the source has not read all samples, reads NOTHING_READ (because the queue is empty) and then immediately returns end-of-stream (because the buffered position jumped forward), causing all remaining samples in the stream to be skipped. This can fixed by moving the buffered position check to before reading the sample, so that it never exceeds the buffered position at the time of reading "no sample". #minor-release PiperOrigin-RevId: 548646464 (cherry picked from commit b3a7ff91d6f4c3454085fe28903f42ede3d03ac1) 17 July 2023, 11:17:17 UTC
727aded Prepend Ogg ID and Comment Header Pages to offloaded Opus stream Add Ogg ID Header and Comment Header Pages to the Ogg encapsulated Opus for offload playback. This further matches the RFC 7845 spec and provides initialization data to decoders. PiperOrigin-RevId: 548080222 (cherry picked from commit 4c894aa6a961fb53e92bf01361f8459d65055af3) 14 July 2023, 10:41:56 UTC
1e93c82 Add tests for `DefaultSsChunkSource` Added tests for Common Media Client Data (CMCD) logging in SmoothStreaming(SS) PiperOrigin-RevId: 548072725 (cherry picked from commit bc8f55315104f1e639861db7729116a921bb0f93) 14 July 2023, 10:03:05 UTC
eb515cd Fix dependencies for UI module PiperOrigin-RevId: 548063325 (cherry picked from commit e1d5c68e71f3901101c0ba3fdf950192ed9d550b) 14 July 2023, 09:12:32 UTC
3f14b9c Replace `Dummy` with `Placeholder` `Dummy` is a non inclusive language. PiperOrigin-RevId: 547815680 (cherry picked from commit 74c3ae24e98c8e445f14b3cdd9d78186d41f2b94) 13 July 2023, 15:55:49 UTC
d98e331 Add fields streaming format(sf), stream type(st) and version(v) Added these CMCD-Session fields to Common Media Client Data (CMCD) logging. #minor-release PiperOrigin-RevId: 547435498 (cherry picked from commit d82a86fba56e23ab5037d281f6586e7aa8f2b237) 12 July 2023, 09:25:50 UTC
6a3c338 Clarify that new `ConditionVariable` instances are closed #minor-release PiperOrigin-RevId: 546803592 (cherry picked from commit db1efe64f368173246244d8689ffc50f6ba8f5d2) 10 July 2023, 09:10:03 UTC
aea4887 Add a note about deprecation plans/timelines to exoplayer2 README #minor-release PiperOrigin-RevId: 545961354 (cherry picked from commit 143f862438729bfc91dfb4a106f1b5794249117e) 06 July 2023, 12:52:18 UTC
fa48aeb Fix incorrect class name for MediaPipe demo Issue: androidx/media#500 #minor-release PiperOrigin-RevId: 545942450 (cherry picked from commit 85d2e9bbb3d4ea7d65f7151f27abe5731b27f5d4) 06 July 2023, 11:07:21 UTC
8fbb224 Change multidex dependency type to androidTestImplementation This is only needed for instrumentation tests and should not be included in regular builds. #minor-release Issue: androidx/media#499 PiperOrigin-RevId: 545913113 (cherry picked from commit 776abb50435f102d055e1655fe1eada34993d2a0) 06 July 2023, 08:45:11 UTC
70e9a26 Replace `BitArray.skipBytes()` with `BitArray.skipBits()` Based on the spec, ETSI TS 102 366 V1.4.1 Annex F, 6 bits should have skipped instead of 6 bytes. This correction was pointed out in Issue: androidx/media#474. PiperOrigin-RevId: 545658365 (cherry picked from commit 0f5b2cf9facbc8adac0d115896792de8db955da2) 05 July 2023, 14:04:50 UTC
f3e0bde Include timing info in some SCTE-35 `toString` implementations This was helpful in investigating Issue: androidx/media#471 PiperOrigin-RevId: 545393217 (cherry picked from commit b076a670b6a922d279e62fe7417eda1b660421a9) 04 July 2023, 10:09:27 UTC
0af25cc Add nanoTime method to Clock to support overriding System.nanoTime() #minor-release PiperOrigin-RevId: 545237925 (cherry picked from commit 527073acdfa4a1f1e43bc3abb3ef7a54e0bb8696) 03 July 2023, 16:29:13 UTC
d876028 CEA-608: Only truncate to 32 visible characters We introduced truncation to 32 chars in <unknown commit> and included indent and offset in the calculation. I think this is technically correct, but it causes problems with the content in Issue: google/ExoPlayer#11019 and it doesn't seem a problem to only truncate actual cue text (i.e. ignore offset and indent). #minor-release PiperOrigin-RevId: 544677965 (cherry picked from commit d5e45209eeb7b3ce96cc9dcf32ea98bb42cf12ce) 30 June 2023, 16:35:46 UTC
f729b6d Remove dead code in ProgressiveMediaSource.Builder These fields cannot be set and the logic to handle them can be removed. PiperOrigin-RevId: 544646460 (cherry picked from commit d5ba034e1f7435c55f52126be53a09a7f3bc37a9) 30 June 2023, 14:05:39 UTC
bafdd53 Merge pull request #487 from vishnuchilakala:allow_unsigned_int_for_adaptation_set_id PiperOrigin-RevId: 544601945 (cherry picked from commit 6b3d3cd756a0dcd83cc2551078949f8427da27ed) 05 July 2023, 08:57:47 UTC
c033263 Ensure that ShuffleOrder has the same length as the current playlist Add a fail-fast check in `ExoPlayerImpl` to ensure the equality of the lengths of `ShuffleOrder` and the current playlist. Also improve the documentation of `setShuffleOrder(ShuffleOrder)` with explicit instruction on this. Issue: androidx/media#480 #minor-release PiperOrigin-RevId: 544009359 (cherry picked from commit 9cabbc9badbc9301f5e13398b8444377c4e72543) 28 June 2023, 10:41:49 UTC
f6042d6 Clarify MediaPeriod.readDiscontinuity Javadoc It currently wrongly documents that it is only called before reading streams (that has never been the case and all MediaPeriods already need to handle calls after reading samples from the streams). It was also a bit unclear what a discontinuity implies and the new Javadoc calls out the main use case for discontinuties and the intended meaning of returning a discontinuity. #minor-release PiperOrigin-RevId: 543989124 (cherry picked from commit 7530c45cb60f212d9d65c24f40a45fe666416ad5) 28 June 2023, 08:55:56 UTC
7c87144 Use different package names in DiagnosticInfo for media3 and exoplayer Issue: androidx/media#476 #minor-release PiperOrigin-RevId: 543460075 (cherry picked from commit 5584007400be55a22a95825f00b0fbb607e121c1) 26 June 2023, 16:28:47 UTC
39718b3 Do not trim audio samples by changing their timestamp MP4 edit lists sometimes ask to start playback between two samples. If this happens, we currently change the timestamp of the first sample to zero to trim it (e.g. to display the first frame for a slightly shorter period of time). However, we can't do this to audio samples are they have an inherent duration and trimming them this way is not possible. PiperOrigin-RevId: 543420218 (cherry picked from commit 2cdc964066b1c9c9c4e90583b3f4b1579290c69b) 26 June 2023, 13:26:35 UTC
cc06f27 Removing @CallSuper from [add,remove]Listener of ForwardingListener. PiperOrigin-RevId: 543373503 (cherry picked from commit 03e30b458449e1dc0c30ac39e102539271a6c7d6) 26 June 2023, 09:11:27 UTC
a04ebf6 Fix missing equals sign in inline-comment parameter names PiperOrigin-RevId: 542577676 (cherry picked from commit 3819de56039b702e25ca3c1ba2fda5630f4446f8) 22 June 2023, 16:09:57 UTC
8a4c944 Switch to SVG assets hosted on developer.android.com for reference docs #minor-release PiperOrigin-RevId: 541970884 (cherry picked from commit ce466b742bc8edebef363aa79ec2c91fb40df5cd) 20 June 2023, 17:23:37 UTC
a72f1b2 Fix ArrayIndexOutOfBoundIndex when re-preparing after exception When an app tried to re-prepare a live streeam with server side inserted ad after a playback exception, the player tried to find the ad group by its index in the ad playback state of the next timeline when creating the first period. If a source that supports server side ad, has removed the ad playback state when the source has been removed, this causes a crash. For live streams this is a reasonable thing to do given the exception could be caused by an invalid ad playback state. This change removes the ad metadata from the current period for live streams and the timeline. In case the ad playback state is not reset by the source, the first timeline refresh would ad the metadata again. PiperOrigin-RevId: 541959628 (cherry picked from commit 207ef0d0f0bee86e75409f53ded325e859ca25aa) 20 June 2023, 16:55:22 UTC
12cd9e8 Fix spurious sessions created for events after the playlist is cleared Some events may arrive after the playlist is cleared (e.g. load cancellation). In this case, the DefaultPlaybackSessionManager may create a new session for the already removed item. We already have checks in place that ignore events with old windowSequenceNumbers, but these checks only work if the current session is set (i.e. the playlist is non-empty). The fix is to add the same check for empty playlists by keeping note of the last removed window sequence number. PiperOrigin-RevId: 541870812 (cherry picked from commit 656e0723e51e1bc38d558e77fa2cb0cc17e37054) 20 June 2023, 11:27:23 UTC
38032a6 Merge pull request #436 from jaeho-lee104:feature/improve_condition PiperOrigin-RevId: 540875285 (cherry picked from commit 9fd38c16eeb9e64ff62a0a47ae6e174bb8de8d43) 20 June 2023, 14:33:00 UTC
b16238a Refactor method `CmcdLog.createInstance` to accept `bufferedDurationUs` Instead of providing `playbackDurationUs` and `loadPositionUs` individually, which are used to calculate the buffer duration for CMCD logging, we can directly pass the pre-calculated `bufferedDurationUs` available in the `getNextChunk` method of the chunk source classes. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 540630112 (cherry picked from commit 4d1119ab24384621877f4e7854dca1fa6db964a3) 15 June 2023, 17:55:30 UTC
fd06061 Add CMCD logging when requesting initialization chunk for DASH and HLS Additionally, two existing methods to `buildDataSpec` in `DashUtil` have been deprecated, while a new method has been added that allows the inclusion of `httpRequestHeaders`. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 540594444 (cherry picked from commit c69b6fe41d065175dacc22b1b30efed91b8102f1) 15 June 2023, 15:48:55 UTC
593590c Remove `=` from parameter args in call to `Constructor.newInstance` These comments reflect the parameter names of the constructor that we're reflectively calling, but errorprone complains that they don't match the parameter names of `Constructor.newInstance`. PiperOrigin-RevId: 540348118 (cherry picked from commit 2b53f100f858e36159ab636e82bcb07d26868150) 14 June 2023, 19:32:01 UTC
eb5ffeb Stop suppressing exceptions in `MediaCodec.Callback` during flush Previously `AsynchronousMediaCodecCallback.mediaCodecException` was cleared when flushing completed. This behaviour was changed in https://github.com/google/ExoPlayer/commit/aeff51c50772a82e44045e7d80e8a13390e2bb36 so now the exception is not cleared. The result after that commit was that we would **only** suppress/ignore the expression if a flush was currently pending, and we would throw it both before and after the flush. This doesn't really make sense, so this commit changes the behaviour to also throw the exception during the flush. This commit also corrects the assertion in `flush_withPendingError_resetsError` and deflakes it so that it consistently passes. The previous version of this test, although the assertion was incorrect, would often pass because the `dequeueInputBuffer` call would happen while the `flush` was still pending, so the exception was suppressed. #minor-release PiperOrigin-RevId: 540237228 (cherry picked from commit dd17e73629930628e5cb313301ceabf0c776bd18) 14 June 2023, 12:07:39 UTC
1e6dd8a Add missing @Override PiperOrigin-RevId: 540220141 (cherry picked from commit 1434c61bf5e8a92d90cadc39e66e5edb993b9a84) 14 June 2023, 10:26:38 UTC
75011fc Release `ExoPlayer` instances in `ExoPlayerTest` This was recommended in https://github.com/robolectric/robolectric/issues/8187#issuecomment-1552060094 PiperOrigin-RevId: 539691757 (cherry picked from commit 3923878db4f8ebbcf242f8941424b9f4e6999b5e) 12 June 2023, 17:19:56 UTC
81379e2 Clean up HLS sample for cast demo Issue: androidx/media#452 #minor-release PiperOrigin-RevId: 539613535 (cherry picked from commit 44910cc80b54c499afd9c0f1e7cbaa778a4200a0) 12 June 2023, 11:40:30 UTC
115d2b3 Factor out video decoding and fix two minor issues 1. Not treating 0 as valid buffer index 2. Not handling the case the last frame is a comparison frame PiperOrigin-RevId: 539607482 (cherry picked from commit 750988797436a3a7af0c3ff8deb8bda22da12038) 12 June 2023, 11:05:08 UTC
0c58f15 Stop setting `-no-module-directories` in ExoPlayer javadoc generation This flag was introduced to fix links in javadoc search when generating it with Java 11: <unknown commit> The flag is no longer supported with Java 17 (which is required for Gradle 8.0+), and seems to no longer be needed: I generated the javadoc with it removed and the search links work OK. PiperOrigin-RevId: 536738686 11 August 2023, 15:58:03 UTC
f425665 Merge pull request #11241 from google/release-v2-r2.19.0 Release v2 r2.19.0 05 July 2023, 08:56:15 UTC
fd29199 Merge branch 'release-v2' into release-v2-r2.19.0 26 June 2023, 16:06:13 UTC
129a3d2 Fix bug where PlayerView distorts video when video size is unknown PiperOrigin-RevId: 541640959 (cherry picked from commit 3f991f643c053d8cbd6d324de405fb7c96f3ce0d) 26 June 2023, 15:10:39 UTC
0b9a3db Update javadoc for exoplayer 2.19.0 release #minor-release PiperOrigin-RevId: 543393737 (cherry picked from commit 76767093a00dfb7623b3574f7995a80c78bbce93) 26 June 2023, 12:48:16 UTC
7bd6e9b Version bump for exoplayer 2.19.0 continued #minor-release PiperOrigin-RevId: 543369900 (cherry picked from commit fb6a496607c7d476cb0893711e9620c4f72e0ce1) 26 June 2023, 10:04:12 UTC
74c9eb0 Version bump to media3-1.1.0 and exoplayer 2.19.0 #minor-release PiperOrigin-RevId: 542881427 (cherry picked from commit b9d289fc0b1adcf108835448cc90c2f4c7b7ba30) 23 June 2023, 18:11:43 UTC
10b8f72 Update the Exoplayer release notes for 2.19.0 release. #minor-release PiperOrigin-RevId: 542565180 (cherry picked from commit 7aa13a42c3562b88da7ec60970a20f833f192bb7) 23 June 2023, 13:02:46 UTC
7d61050 Fix two more unresolved SVGs in `Timeline.Window` and `Timeline.Period` These were missed in https://github.com/google/ExoPlayer/commit/10342507f7c2e167e95365609ea584d227bc9b5d #minor-release PiperOrigin-RevId: 541860649 (cherry picked from commit 273953e79c0d53ccdf6344074e1d777d7ee93185) 23 June 2023, 13:02:46 UTC
fb9871f Add deprecation note to the ExoPlayer 2.19.0 release notes #minor-release PiperOrigin-RevId: 540517113 (cherry picked from commit 350ced258f48e2da84c8a67747917f0b12f1e037) 23 June 2023, 13:02:46 UTC
84cc055 Document how to use a custom receiver app with the cast demo #minor-release Issue: androidx/media#452 PiperOrigin-RevId: 539915277 (cherry picked from commit 73fda2fdd4feb524b89d77c2b39d96171f62346c) 23 June 2023, 13:02:46 UTC
5b4839a Deprecate exoplayer2 - all users should migrate to androidx.media3 More info, including a script to help with the migration: https://developer.android.com/guide/topics/media/media3/getting-started/migration-guide PiperOrigin-RevId: 540345728 (cherry picked from commit af1b9f64c4774b1e4d63de72c201dc565fa899c3) 15 June 2023, 07:44:37 UTC
233655a Rollback of https://github.com/google/ExoPlayer/commit/21b5661897bb684502ae187f2aec83f58a1d21ff *** Original commit *** Add a timer to end a video stream prematurely in ExtTexMgr *** This has been submitting for more than 1.5hrs. "This presubmit is running slowly because you have been throttled by Build Queue due to using too much of your Product Area's quota." adding NO_SQ as this is a pure rollback PiperOrigin-RevId: 539135970 (cherry picked from commit e790f3271f209f4fcc955f6d8841ec5219da7156) 09 June 2023, 18:36:17 UTC
036f6e8 Add missing import to StreamKey #minor-release PiperOrigin-RevId: 539112700 (cherry picked from commit 36a6fe4af70031bdf451d759ec9a31633c46ad99) 09 June 2023, 17:09:31 UTC
68d7214 Throw exception when `TimestampAdjuster` initialization hits timeout Add `HlsMediaSource.Factory.setTimestampAdjusterInitializationTimeoutMs(long)` to set the timeout for the loading thread to wait for the `TimestampAdjuster` to initialize. If the initialization doesn't complete before the timeout, a `PlaybackException` is thrown to avoid the playback endless stalling. The timeout is set to zero by default. This can avoid HLS playback endlessly stalls when manifest has missing discontinuities. According to the HLS spec, all variants and renditions have discontinuities at the same points in time. If not, the one with discontinuities will have a new `TimestampAdjuster` not shared by the others. When the loading thread of that variant is waiting for the other threads to initialize the timestamp and hits the timeout, the playback will stall. Issue: androidx/media#323 #minor-release PiperOrigin-RevId: 539108886 (cherry picked from commit 4eb56cfce76a41ff90d50d2d9e3ea4e9ad0d7b4e) 09 June 2023, 16:55:22 UTC
694e83f Fix splitting ad playback state for partial ad group when joining This change addresses the case when the user joins the live stream on an ad period but the metadata for the ad period is not emitted. This results in inserting a partial ad group. In this case the ad group duration is longer than the partial ad group. If now the partial ad group ends at the period before the last period of the window (unknown duration), the splitting algorithm didn't recognize that the ad group already ended and made the last period wrongly an ad period. This change handles this edge case by counting the mapped ads in the partial ad group to detect this situation and stops splitting. #minor-release PiperOrigin-RevId: 539102785 (cherry picked from commit 2adeb4107790e1a9f822b5b810e532501a02e4aa) 09 June 2023, 16:30:28 UTC
75a745a Add missing empty lines PiperOrigin-RevId: 539100987 (cherry picked from commit 4755e7313e5a31f5f9b6599ff290580026994b75) 09 June 2023, 16:22:17 UTC
43f2ebf Make current period a placeholder when a live stream is reset In case the player is reset while a live stream is playing, the current period needs to be a placeholder. This makes sure that the default start position is used when the first live timeline arrives after re-preparing. #minor-release PiperOrigin-RevId: 539044360 (cherry picked from commit 538143aad92340ede0891a74c514a213e5513d06) 09 June 2023, 11:38:29 UTC
95ac96a Add a timer to end a video stream prematurely in ExtTexMgr PiperOrigin-RevId: 539036285 (cherry picked from commit 21b5661897bb684502ae187f2aec83f58a1d21ff) 09 June 2023, 10:48:57 UTC
7d22115 Do not reset period uid when DashMediaSource is released When the source is prepared again after stop, the period uid is calculated by subtracting the `firstPeriodId` from the period uid that is passed in to `createPeriod`. When this happens after stop, the uid from the old period uid that is still stored and has the value of the last played uid. Hence the `firstPeriodId` must not be reset when released. Issue: google/ExoPlayer#10838 PiperOrigin-RevId: 539028570 (cherry picked from commit de2ad14f46f4790063dfef849ba8cc0069f6106e) 09 June 2023, 10:01:53 UTC
958c359 Implement logging support for Common Media Client Data (CMCD) Add support for including Common Media Client Data (CMCD) in the outgoing requests of adaptive streaming formats DASH, HLS, and SmoothStreaming. API structure and API methods: * CMCD logging is disabled by default, use `MediaSource.Factory.setCmcdConfigurationFactory(CmcdConfiguration.Factory cmcdConfigurationFactory)` to enable it. * All keys are enabled by default, override `CmcdConfiguration.RequestConfig.isKeyAllowed(String key)` to filter out which keys are logged. * Override `CmcdConfiguration.RequestConfig.getCustomData()` to enable custom key logging. NOTE: Only the following fields have been implemented: `br`, `bl`, `cid`, `rtp`, and `sid`. Issue: google/ExoPlayer#8699 #minor-release PiperOrigin-RevId: 539021056 (cherry picked from commit b7e71538a3fc6892cf75f1e0799f339e63d2f1ec) 09 June 2023, 09:14:10 UTC
c79e13a Enable re-preparing the `ImaSSAIMediaSource` #minor-release PiperOrigin-RevId: 538927855 (cherry picked from commit 499fd0942c7557bf5970b4bc79cd7fa4648f0227) 08 June 2023, 23:57:46 UTC
22d2fd6 Make StreamKey Bundleable and remove deprecated trackIndex #minor-release PiperOrigin-RevId: 538809105 (cherry picked from commit 8be5705ff7514f26f2caacef8d559f8e41bc14de) 08 June 2023, 16:33:41 UTC
48dcce5 Add 'Keep every nth frame' frame dropping strategy. #minor-release PiperOrigin-RevId: 538804347 (cherry picked from commit 4bb7b3cddcddd228ed6d513b4e2ffa80268b2fbc) 08 June 2023, 16:15:16 UTC
5f7d987 Fix calling extra registerInputStream and not handling EOS PiperOrigin-RevId: 538796466 (cherry picked from commit 782b9535816df2709526b0031e5902c4f636c322) 08 June 2023, 15:43:37 UTC
3de2785 Add support for passing custom metadata via transformer Changes included: 1. Enable MP4 extractor to read all types of metadata. 2. Allow passing String and Float metadata via Transformer. Reference to QuickTime spec: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/Metadata/Metadata.html#//apple_ref/doc/uid/TP40000939-CH1-SW21 PiperOrigin-RevId: 538783982 (cherry picked from commit 8ce74aa4000d7b6bb9673734c42c3620cd602544) 08 June 2023, 14:51:43 UTC
8bb4461 Enable nullness checker for Muxer module androidTest library PiperOrigin-RevId: 538742957 (cherry picked from commit f582e41aab795398ea0e7ef2a70c6282b6ead634) 08 June 2023, 11:03:09 UTC
7becf58 Test: Add no-op effect test for GL tone mapping. To ensure no regressions for the potentially confusing pipeline of: * HDR electrical -> SDR linear EOTF+OOTF, and * SDR linear -> SDR electrical OETF PiperOrigin-RevId: 538741079 (cherry picked from commit 63b6df33353aa4098649fa042e636a3445d28b89) 08 June 2023, 10:52:30 UTC
5c32c5c DefaultVideoFrameProcessorMultipleTextureOutputPixelTest fixes & cleanup PiperOrigin-RevId: 538495675 (cherry picked from commit 85bfc08595c40f646e8090dd81c7ae79080cf70f) 07 June 2023, 15:29:08 UTC
a2467d4 Test: Move duplicated GL tone mapping logic into helper methods. PiperOrigin-RevId: 538491957 (cherry picked from commit 466308c736a2757edbddb0384f25f21dbca9e661) 07 June 2023, 15:14:09 UTC
e7673d4 Remove unnecessary thread in AssetLoader tests Also queue textures from a different thread in TextureAssetLoader, to have a behaviour closer to reality. PiperOrigin-RevId: 538473089 (cherry picked from commit 01dbda1f768d0511c85fdcdb4a6972e85a477426) 07 June 2023, 13:52:16 UTC
3803055 Fix 1 ErrorProneStyle finding PiperOrigin-RevId: 538469993 (cherry picked from commit bc94a0e189b92310cc28c644aa11771d534987d5) 07 June 2023, 13:36:41 UTC
af70eed Tests for disabled color transfers #minor-release PiperOrigin-RevId: 538466615 (cherry picked from commit ac18e2ea5f05cb23af1f9d12c102feffb8e9c1ff) 07 June 2023, 13:17:35 UTC
e20cace Effect: Add multiple texture output test. Confirms that multiple textures can be output, and that timestamps and pixels are as expected. PiperOrigin-RevId: 538459296 (cherry picked from commit cfcc53b3829f5dedbd4a2e96af87f3b05dec7715) 07 June 2023, 12:35:47 UTC
39de7a6 Log additional information on test runner timeout PiperOrigin-RevId: 538437142 (cherry picked from commit 136f323f97bc048d9cc9a6b703b72073aa6132de) 07 June 2023, 10:23:25 UTC
2ca5cef Merge pull request #439 from kaidokert:pick_workaround PiperOrigin-RevId: 538209925 (cherry picked from commit 824960bae924141a5036744226c5fe79b37d3c12) 06 June 2023, 19:43:45 UTC
back to top