Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v2 r2.19.0 #11241

Merged
merged 3,735 commits into from
Jul 5, 2023
Merged

Release v2 r2.19.0 #11241

merged 3,735 commits into from
Jul 5, 2023
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Apr 24, 2023

  1. HDR: Remove exportUnexpectedColorInfo test.

    PiperOrigin-RevId: 526086973
    dway123 authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    de32536 View commit details
    Browse the repository at this point in the history
  2. Ensure DrmSessionManager.setPlayer() is called before prepare()

    `prepare()` now logs a warning if it's called before `setPlayer()`
    because it's not possible to tell if it's being called on the wrong
    thread (since androidx/media@3480a27).
    
    This change finds all the places one is called immediately after the
    other and flips the order to be more correct.
    
    Issue: androidx/media#350
    
    #minor-release
    
    PiperOrigin-RevId: 526582294
    icbaker authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    6aacbc6 View commit details
    Browse the repository at this point in the history
  3. Change isInputTextureExternal boolean parameter to inputType intDef

    PiperOrigin-RevId: 525690361
    tof-tof authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    4188bf3 View commit details
    Browse the repository at this point in the history
  4. Add video/raw to MimeTypes

    PiperOrigin-RevId: 525693833
    tof-tof authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    ffb6970 View commit details
    Browse the repository at this point in the history
  5. Add context sharing capabilities to the default GlObjectsProvider

    Creates a way for apps to provide their EGLContext to DefaultVideoFrameProcessor, so that we can attach their context to the one we create. See [the EGL docs for more information about how contexts are shared in GL](https://registry.khronos.org/EGL/sdk/docs/man/html/eglCreateContext.xhtml)
    
    PiperOrigin-RevId: 525708652
    tof-tof authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    4d2da81 View commit details
    Browse the repository at this point in the history
  6. Set default value 0 for compressorname

    PiperOrigin-RevId: 525734520
    SheenaChhabra authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    409e815 View commit details
    Browse the repository at this point in the history
  7. Bump Guava version to 31.1

    PiperOrigin-RevId: 525756451
    icbaker authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    f92a9a6 View commit details
    Browse the repository at this point in the history
  8. Rename INPUT_TYPE_TEXID, and cleanup.

    PiperOrigin-RevId: 525761936
    claincly authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    9e99f93 View commit details
    Browse the repository at this point in the history
  9. Simplify end of stream signaling again

    Whenever a frame is queued to the shader, it's guaranteed that there will be a
    subsequent `onInputFrameProcessed` callback, so we can pass on the
    end-of-stream signal there.
    
    PiperOrigin-RevId: 525850141
    claincly authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    3fb4646 View commit details
    Browse the repository at this point in the history
  10. Render last frame even if have not read BUFFER_FLAG_END_OF_STREAM

    If the limited number of input buffers causes reading of all samples except the last one conveying end of stream, then the last frame will not be rendered.
    
    PiperOrigin-RevId: 525974445
    microkatz authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    7590228 View commit details
    Browse the repository at this point in the history
  11. Add Builder for DeviceInfo

    This simplifies the addition of new fields in the future.
    
    Also do some misc clean up for the volume limit values:
     - Add some documentation to mention assumed defaults
     - Add the IntRange annotations to match the ones we have in Player
       already
     - Mention the limits in the relevant Player methods
     - Avoid bundling default values
     - Improve range checks for masking in MediaController
    
    PiperOrigin-RevId: 526029619
    tonihei authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    930837c View commit details
    Browse the repository at this point in the history
  12. Rollback of f92a9a6

    *** Original commit ***
    
    Bump Guava version to 31.1
    
    ***
    
    PiperOrigin-RevId: 526046600
    icbaker authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    e64be9b View commit details
    Browse the repository at this point in the history
  13. Add routing controller id to DeviceInfo

    And forward the id to the VolumeProviderCompat and read it from the platform
    MediaController for compatibility.
    
    PiperOrigin-RevId: 526046892
    tonihei authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    61f28a6 View commit details
    Browse the repository at this point in the history
  14. Fix MCVR is not able to find FrameProcessor.Factory constructor.

    The constructor is removed in 6dcb018.
    
    PiperOrigin-RevId: 526068585
    claincly authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    8ce3205 View commit details
    Browse the repository at this point in the history
  15. Allow customizing VideoFrameProcessor input and output colors in MCVR.

    PiperOrigin-RevId: 526081541
    claincly authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    49802cd View commit details
    Browse the repository at this point in the history
  16. Add support to fetch ColorInfo from avcC box in AtomParsers

    #minor-release
    
    PiperOrigin-RevId: 526082823
    rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    d887671 View commit details
    Browse the repository at this point in the history
  17. HDR: Remove exportUnexpectedColorInfo test.

    PiperOrigin-RevId: 526086973
    dway123 authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    6da9306 View commit details
    Browse the repository at this point in the history
  18. Ensure DrmSessionManager.setPlayer() is called before prepare()

    `prepare()` now logs a warning if it's called before `setPlayer()`
    because it's not possible to tell if it's being called on the wrong
    thread (since 9d028b3).
    
    This change finds all the places one is called immediately after the
    other and flips the order to be more correct.
    
    Issue: androidx/media#350
    
    #minor-release
    
    PiperOrigin-RevId: 526582294
    icbaker authored and rohitjoins committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    aa4e008 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2023

  1. Add a test sample for ts+h265

    pengbins authored and icbaker committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    bc0dc01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b08120d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a65b5a5 View commit details
    Browse the repository at this point in the history
  4. Derive previousNumDeltaPocs from numNegativePics and numPositivePics

    This more closely matches the equations in equations 7-61 and 7-62 in
    See H.265/HEVC (2014) section 7.4.8.
    icbaker committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    75d81c7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    114020c View commit details
    Browse the repository at this point in the history
  6. Use NalUnitUtil.parseH265SpsNalUnitPayload when parsing MPEG-TS files

    This implicitly fixes a bug by removing the buggy implementation in H265Reader in favour of a working one. This change also adds tests to confirm the parsing bug is fixed.
    pengbins authored and icbaker committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    6ae8c8c View commit details
    Browse the repository at this point in the history
  7. Use parseH265SpsNalUnit instead of parseH265SpsNalUnitPayload

    To consistent with the other callsites of NalUnitUtil for parsing H265 SPS
    pengbins authored and icbaker committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    d7acae2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e88fa7c View commit details
    Browse the repository at this point in the history
  9. Add a release note for MPEG-TS H.265 SPS parsing fix

    Also clean-up a comment about skipping the NAL start code
    icbaker committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    171c224 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2023

  1. Fix not ignoring invalid color info.

    PiperOrigin-RevId: 526595567
    claincly authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    15a80f4 View commit details
    Browse the repository at this point in the history
  2. Rollback of e64be9b

    *** Original commit ***
    
    Rollback of f92a9a6
    
    *** Original commit ***
    
    Bump Guava version to 31.1
    
    ***
    
    ***
    
    PiperOrigin-RevId: 526601244
    icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    1121162 View commit details
    Browse the repository at this point in the history
  3. Abstract the interface of DefaultVideoFrameProcessor's input.

    PiperOrigin-RevId: 526642898
    claincly authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    c284fac View commit details
    Browse the repository at this point in the history
  4. Add nullness-compat-qual dependency for android tests

    PiperOrigin-RevId: 526652129
    tof-tof authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    deb4ffd View commit details
    Browse the repository at this point in the history
  5. Replace MediaFormat with Format class in muxer module

    PiperOrigin-RevId: 526655859
    SheenaChhabra authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    d4c0a05 View commit details
    Browse the repository at this point in the history
  6. Effects: Allow BT2020 colors with SDR transfers

    Previously, I assumed that SDR contents must be BT709, and HDR contents must be
    BT2020. Turns out BT2020 is just wide-gamut, and SDR contents / transfers may be
    represented in BT2020 color spaces.
    
    Relax the check, so that we don't throw when valid BT2020 SMPTE 170M contents
    are input into effects.
    
    PiperOrigin-RevId: 526668347
    dway123 authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    e051180 View commit details
    Browse the repository at this point in the history
  7. Open source muxer module

    PiperOrigin-RevId: 526683141
    SheenaChhabra authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    2864163 View commit details
    Browse the repository at this point in the history
  8. Add default impl for some InputHandler methods.

    And minor fixes.
    
    PiperOrigin-RevId: 526717927
    claincly authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    e58427a View commit details
    Browse the repository at this point in the history
  9. Update VideoSamplePipeline to take account of decoder colors

    PiperOrigin-RevId: 526940261
    tof-tof authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    1be1175 View commit details
    Browse the repository at this point in the history
  10. Update image transcoding pipeline to signal input COLOR_TRANSFER_SRGB

    The production code changes are in transformer, but the tests in effect have also been updated to confirm the is no color regression `inputColorInfo.colorTransfer=C.COLOR_TRANSFER_SRGB`
    
    PiperOrigin-RevId: 526950435
    tof-tof authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    c1e583c View commit details
    Browse the repository at this point in the history
  11. Allow setting individual offset for bitmaps.

    PiperOrigin-RevId: 527001582
    claincly authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    d838f2c View commit details
    Browse the repository at this point in the history
  12. Transformer: Reduce scope of createSupportedTransformationRequest

    This was only used in EncoderWrapper, so move createSupportedTransformationRequest
    from VideoSamplePipeline to EncoderWrapper to reduce its scope.
    
    PiperOrigin-RevId: 527226578
    dway123 authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    27ed3b2 View commit details
    Browse the repository at this point in the history
  13. Update dependencies to latest versions

    The only dependencies that are not updated are the ones that need
    to be kept in sync with other system (like Android source tree) or
    would require a Kotlin dependency in common or exoplayer modules.
    
    As a side effect, some demo apps now need a Kotlin config and some
    additional modules require desugaring/multidex logic. To simplify
    the setup, the desugaring and multidex steps are added to the common
    config.
    
    PiperOrigin-RevId: 527243950
    tonihei authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    9842fba View commit details
    Browse the repository at this point in the history
  14. Effects: Output to texture without surface in VFP.

    Allow the VideoFrameProcessor to output to a texture without an output surface.
    
    Tested by updating texture output tests to no longer output to a surface.
    
    PiperOrigin-RevId: 527244605
    dway123 authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    51228fc View commit details
    Browse the repository at this point in the history
  15. Use Util method for common UI play/pause button logic.

    This ensures the logic is consistent and can also be easily
    used from custom UIs.
    
    PiperOrigin-RevId: 527249127
    tonihei authored and icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    ab30715 View commit details
    Browse the repository at this point in the history
  16. Merge pull request #313 from pengbins:fix_ts_h265reader_parse_sps

    PiperOrigin-RevId: 527259619
    icbaker committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    062ccdf View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2023

  1. Update sdr internal fsh to accept input color transfer

    PiperOrigin-RevId: 527271212
    tof-tof authored and icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    b96164d View commit details
    Browse the repository at this point in the history
  2. Test: Add @ignore to Analysis tests

    In ASwB, all Transformer tests can be run by right-clicking on the project and
    clicking "Run all tests". We cannot, however, select only some specific test
    files within a project (ex. all non-analysis tests) to run tests on.
    
    Add @ignore to analysis tests, which are not intended to be run anyways
    when determining whether Transformer is working on some device. These
    tests also don't have proper skipping logic when a device doesn't support a
    format, so they can't be run effectively on low-end devices anyways.
    
    This eases manual testing, for example when debugging whether tests all pass
    on a device.
    
    When analysis tests are desired to be run, it should be easy to comment out
    the @ignore.
    
    PiperOrigin-RevId: 527289600
    dway123 authored and icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    a955ee5 View commit details
    Browse the repository at this point in the history
  3. Downgrade back to Robolectric 4.8.1

    This partially reverts 9842fba
    because our tests fail with 4.10 with an error like:
    
    ```
    ShadowActivityThread.reset: ActivityThread not set
    java.lang.NullPointerException: ShadowActivityThread.reset: ActivityThread not set
    	at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    	at org.robolectric.shadows.ShadowActivityThread.reset(ShadowActivityThread.java:284)
    	at org.robolectric.Shadows.reset(Shadows.java:2665)
    	at org.robolectric.android.internal.AndroidTestEnvironment.resetState(AndroidTestEnvironment.java:657)
    	at org.robolectric.RobolectricTestRunner.lambda$finallyAfterTest$0(RobolectricTestRunner.java:370)
    	at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:86)
    	at org.robolectric.RobolectricTestRunner.finallyAfterTest(RobolectricTestRunner.java:368)
    	at org.robolectric.internal.SandboxTestRunner$2.lambda$evaluate$2(SandboxTestRunner.java:298)
    	at org.robolectric.internal.bytecode.Sandbox.lambda$runOnMainThread$0(Sandbox.java:99)
    	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    	at java.base/java.lang.Thread.run(Thread.java:830)
    ```
    
    It looks like the code throwing this exception is new in Robolectric
    4.10:
    robolectric/robolectric@65654a7
    
    PiperOrigin-RevId: 527290033
    icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    2c55701 View commit details
    Browse the repository at this point in the history
  4. Effect: Call glFinish before providing VFP output texture

    glFinish should be called before reading from a texture, to make sure it's been
    properly rendered to.
    
    PiperOrigin-RevId: 527302946
    dway123 authored and icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    e3fd974 View commit details
    Browse the repository at this point in the history
  5. Add a listener once one MediaItem is fully processed

    Add `VideoFrameProcessor.registerInputStream()` to signal a new type of input.
    
    And `InputHandler.signalEndOfCurrentInputStream()` to signal to `InputHandler`
    partial input stream completion.
    
    Fully processed means after FinalShaderProgramWrapper releases the last frame.
    
    PiperOrigin-RevId: 527356646
    claincly authored and icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    d2e8ac4 View commit details
    Browse the repository at this point in the history
  6. Update build.gradle file with latest versions

    PiperOrigin-RevId: 527504752
    tonihei authored and icbaker committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    e2119fb View commit details
    Browse the repository at this point in the history

Commits on May 3, 2023

  1. Effect: split ending frame Processing and getting the output bitmap i…

    …n tests
    
    PiperOrigin-RevId: 527554408
    tof-tof authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    e9bc519 View commit details
    Browse the repository at this point in the history
  2. Effect: glFlush instead of glFinish on tex output

    This is much faster (~2-3x) than glFlush. While there's a risk that GL commands
    queued to the GL server may not be complete by the time non-GL commands access
    the texture, this should be unlikely as we only access the texture from GL.
    
    PiperOrigin-RevId: 527641520
    dway123 authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    5a62d1b View commit details
    Browse the repository at this point in the history
  3. Remove volatile from boolean in BitmapTextureManager

    The field is only accessed on the GL thread.
    
    PiperOrigin-RevId: 527844674
    tof-tof authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    35ed33d View commit details
    Browse the repository at this point in the history
  4. effect: Rename VFP frame release to render.

    renderOutputFrame actually renders frames to an output surface. We'll soon have
    a releaseOutputFrame method, that would release resources associated with an
    output time, so rename this to disambiguate the two methods.
    
    Also rename onOutputFrameAvailable to onOutputFrameAvailableForRendering, to
    make it clear this is not available for "release"
    
    This change should be a renaming-only change and have no functional differences.
    
    PiperOrigin-RevId: 527844947
    dway123 authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    69be61e View commit details
    Browse the repository at this point in the history
  5. Rollback of 5a62d1b

    *** Original commit ***
    
    Effect: glFlush instead of glFinish on tex output
    
    This is much faster (~2-3x) than glFlush. While there's a risk that GL commands
    queued to the GL server may not be complete by the time non-GL commands access
    the texture, this should be unlikely as we only access the texture from GL.
    
    If we see stability issues in the future, we can reconsider and move this back
    to glFinish (or GL synchronization mechanisms like fences, which are more
    complex)
    
    ***
    
    PiperOrigin-RevId: 527848094
    tof-tof authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    ca4928c View commit details
    Browse the repository at this point in the history
  6. Add an input switcher to switch between input types.

    Also make FinalShaderProgramWrapper always receive internal texture.
    
    This means it does not sample from a input texture, and its input color is
    always linear, hence the input type does not matter.
    
    PiperOrigin-RevId: 527869045
    claincly authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    e6c8136 View commit details
    Browse the repository at this point in the history
  7. Add UTF-16 encoded subtitle support to SsaDecoder

    Issue: androidx/media#319
    PiperOrigin-RevId: 527891646
    microkatz authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    a9c8f2f View commit details
    Browse the repository at this point in the history
  8. Relax some copybara transform regexes

    This means that comments like `//copybara:media3-only` are now detected
    (no space between `//` and `copybara`) which will ensure that lines like
    this are correctly transformed for the media3 and exoplayer2 GitHub
    repos:
    https://github.com/google/ExoPlayer/blob/aa4e0080147fe76a6c0cca40b7eccdf45eb58028/library/effect/build.gradle#L33
    PiperOrigin-RevId: 527919649
    icbaker authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    8320370 View commit details
    Browse the repository at this point in the history
  9. Add rootProject.name to decouple the AS name from the directory

    By default Android Studio will name the project based on the root
    directory it's opened from. This gives a consistent (and clear) name
    regardless of what root directory the project is located in on the
    filesystem.
    
    Explicitly defining `rootProject.name` is recommended here:
    https://docs.gradle.org/current/userguide/multi_project_builds.html#naming_recommendations
    
    PiperOrigin-RevId: 528729078
    icbaker authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    052c358 View commit details
    Browse the repository at this point in the history
  10. Mark @callsuper on some BaseGlShaderProgram methods.

    PiperOrigin-RevId: 528734663
    claincly authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    754af23 View commit details
    Browse the repository at this point in the history
  11. Add DataSource contract test checking scheme case insensitivity

    Systems accepting URIs should treat schemes as case-insensitive
    ([RFC 3986 Section 3.1](https://www.rfc-editor.org/rfc/rfc3986#section-3.1)):
    >  An implementation should accept uppercase letters as equivalent to
    >  lowercase in scheme names (e.g., allow "HTTP" as well as "http") for
    >  the sake of robustness
    
    PiperOrigin-RevId: 528735287
    icbaker authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    adb99da View commit details
    Browse the repository at this point in the history
  12. Skip writing 0 sized samples in Mp4Muxer

    The existing logic to drop (actually fail on) 0 sized samples seems no op if
    if 2 out of 10 samples are of size 0.
    
    Checked same scenario with MediaMuxer where
    1. If input file has 300 samples.
    2. Make every 5th sample as an empty byte buffer.
    3. Output file is generated without error.
    4. Output file has 240 samples.
    5. Exoplayer is able to play output file (blurry).
    
    The new change is in line with MediaMuxer behaviour.
    
    PiperOrigin-RevId: 528798046
    SheenaChhabra authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    497c51b View commit details
    Browse the repository at this point in the history
  13. Update InternetConnection check to skip check when uri scheme is null

    When we created androidTests, in the past, they always had a URI pointing to a resource, therefore we always had a URI scheme. With texture input, this will not longer be the case (EditedMediaItems's may have URI.EMPTY, which have a null scheme) so we need to check for this so tests don't falsely fail.
    
    PiperOrigin-RevId: 528848411
    tof-tof authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    4484330 View commit details
    Browse the repository at this point in the history
  14. Reselect track when renderer capabilities change

    * Implement RendererCapabilities.Listener in DefaultTrackSelector.
    * Add new methods TrackSelector.invalidateForRendererCapabilitiesChange and TrackSelector.InvalidateListener.onRendererCapabilitiesChanged.
    * Add new field allowInvalidateSelectionsOnRendererCapabilitiesChange to DefaultTrackSelector.Parameter to allow opt-in of the renderer capabilities detection feature.
    * Add logics of triggering track reselection when renderer capabilities change.
    
    PiperOrigin-RevId: 529067433
    tianyif authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    cdcc701 View commit details
    Browse the repository at this point in the history
  15. Update translations

    PiperOrigin-RevId: 529069808
    tof-tof authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    6c294ac View commit details
    Browse the repository at this point in the history
  16. Effect: Fix concurrent access null pointer exception

    A list was being accessed from one thread when it wasn't guaranteed to be empty.
    
    PiperOrigin-RevId: 529102141
    dway123 authored and marcbaechinger committed May 3, 2023
    Configuration menu
    Copy the full SHA
    073807a View commit details
    Browse the repository at this point in the history

Commits on May 4, 2023

  1. Fix demo app UnsafeOptInUsageError lint errors

    This change:
    * Adds missing `@OptIn` annotation to demo app's `ErrorMessageProvider`
    * Switches from `Util.SDK_INT` to `Build.VERSION.SDK_INT` in
      `SampleChooserActivity` (`PlayerActivity` is already using this).
    
    This code hasn't changed recently, and it doesn't fail on the `release`
    branch, but it failed when I checked the `main` branch just now - so I
    assume lint has updated to detect more cases where unstable APIs are
    being used without opt-in. I suspect the difference is due to different
    Android Gradle Plugin versions between the branches.
    
    #minor-release
    
    PiperOrigin-RevId: 529111669
    icbaker authored and tof-tof committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5dbbff4 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2023

  1. Enable switching input types via InputMultiplexer.

    PiperOrigin-RevId: 529624205
    claincly authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    a43ef10 View commit details
    Browse the repository at this point in the history
  2. Add a tracing utility for debugging video related muxer timeout

    PiperOrigin-RevId: 529632886
    claincly authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    9f2d200 View commit details
    Browse the repository at this point in the history
  3. Remove unused variables in DVFP.

    PiperOrigin-RevId: 529685584
    claincly authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    fa669d8 View commit details
    Browse the repository at this point in the history
  4. Improve documentation for metadataSampleEntry method

    PiperOrigin-RevId: 529693415
    SheenaChhabra authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    1c4cfed View commit details
    Browse the repository at this point in the history
  5. Use provided Format in shouldUseBypass check

    #minor-release
    
    PiperOrigin-RevId: 529708020
    microkatz authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    4358924 View commit details
    Browse the repository at this point in the history
  6. Downgrade IMA SDK to 3.29.0

    #minor-release
    
    PiperOrigin-RevId: 529710928
    marcbaechinger authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    7c28075 View commit details
    Browse the repository at this point in the history
  7. Remove B-frame setting from DefaultEncoderFactory

    This setting is buggy on some devices (for example sm-n960f)
    
    PiperOrigin-RevId: 529712770
    kim-vde authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    c032f80 View commit details
    Browse the repository at this point in the history
  8. HDR: Don't register unsupported HDR bitmap input.

    Minimal fix for HDR test postsubmit breakage
    
    PiperOrigin-RevId: 529734521
    dway123 authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    772f579 View commit details
    Browse the repository at this point in the history
  9. Update migration script for 1.0.2/2.18.7

    #minor-release
    
    PiperOrigin-RevId: 529742339
    marcbaechinger authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    c12fea7 View commit details
    Browse the repository at this point in the history
  10. Update migration script for 1.1.0/2.19.0

    #minor-release
    
    PiperOrigin-RevId: 529743667
    marcbaechinger authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    2ff8cc3 View commit details
    Browse the repository at this point in the history
  11. Add tests for MediaLibraryInfo version code consistency

    `VERSION_INT` is quite long with several sections, and it's easy to make
    a mistake when updating it - this should help since it checks it against
    `VERSION`, which is more easily human readable/writable.
    
    PiperOrigin-RevId: 529747023
    icbaker authored and tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    75cde0a View commit details
    Browse the repository at this point in the history
  12. Fix operations order in RenderingTest

    For DefaultVideoFrameProcessorVideoFrameRenderingTest: `registerInputStream` sets the textureManager, so reordering makes sure the textureManager is set before you set the frame info. This is important for texture input, where the frame info provides the width and height.
    
    PiperOrigin-RevId: 529753404
    tof-tof committed May 8, 2023
    Configuration menu
    Copy the full SHA
    2c4a567 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2023

  1. Remove stray stuck debug logging line

    PiperOrigin-RevId: 530314222
    andrewlewis authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    6f9a3b2 View commit details
    Browse the repository at this point in the history
  2. Ensure behavior of add/setMediaItems is consistent on empty playlist

    Adding items to an empty playlist is slightly different from adding
    items to a non-empty playlist, because the former usually requires to
    handle a change in the current item, position and playback state,
    while the latter is not expected to affect the current item, position
    or state.
    
    The current ExoPlayer and SimpleBasePlayer code doesn't account for
    this difference, leading to inconsistent behavior between
    setMediaItem(s) and addMediaItem(s) when called on an empty playlist.
    
    PiperOrigin-RevId: 530549928
    tonihei authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    8c6da05 View commit details
    Browse the repository at this point in the history
  3. Image transcoding: Add support for heic/heif image formats

    PiperOrigin-RevId: 530578549
    tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    4abd34d View commit details
    Browse the repository at this point in the history
  4. Change order of operations in videoSamplePipeline

    similar error to 2c4a567c74088c639d699eeefe139c38e254e230L `registerInputStream` sets the textureManager, so reordering makes sure the textureManager is set before you set the frame info. This is important for texture input, where the frame info provides the width and height.
    
    PiperOrigin-RevId: 530579584
    tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    756b77e View commit details
    Browse the repository at this point in the history
  5. Fix encoder expecting HDR while tone-mapping requested

    If tone-mapping was requested for a device supporting HDR encoding,
    isToneMapped was false in VideoSamplePipeline.EncoderWrapper. This was
    causing the encoder to expect HDR.
    
    Also did some renamings to improve readability
    
    PiperOrigin-RevId: 530584010
    kim-vde authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    3a70c6c View commit details
    Browse the repository at this point in the history
  6. Transformer: Add codec support for Dolby Vision HDR video

    Allow use of H265/H264 codecs for Dolby Vision video.
    
    Also, reflow ExoPlayer code to use this new utility class
    
    PiperOrigin-RevId: 530619388
    dway123 authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    56c070a View commit details
    Browse the repository at this point in the history
  7. Effect: Support input via texture ID

    PiperOrigin-RevId: 530624195
    tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    4957980 View commit details
    Browse the repository at this point in the history
  8. Avoid swallowing exceptions when switching AssetLoader

    Exceptions thrown when switching AssetLoader were not reported through
    the error listener. Therefore, the resources were not released and the
    export was not ending.
    
    PiperOrigin-RevId: 530626300
    kim-vde authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    0f11aa2 View commit details
    Browse the repository at this point in the history
  9. Fix HDR tone mapping stuck on SM device

    Tone-mapping an HDR video with MediaCodec on sm-s908u1 was timing out.
    The reason for that is that the decoder was dropping frames, and the
    ExternalTextureManager was therefore never propagating the end-of-stream
    signal.
    
    There was already a workaround for a similar issue but restricted to
    sm-f936b. Removed the model check as the bug is probably present on more
    devices.
    
    PiperOrigin-RevId: 530639437
    kim-vde authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    454c5a2 View commit details
    Browse the repository at this point in the history
  10. Disable texture input when input is HDR

    Verified by running all the tests in mh (excluding the analysis tests) on a pixel 7 pro
    
    PiperOrigin-RevId: 530655237
    tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    2fcda32 View commit details
    Browse the repository at this point in the history
  11. Create InAppMuxer in transformer

    To use the InAppMuxer, the client needs to pass InAppMuxer Factory.
    
    PiperOrigin-RevId: 530684007
    SheenaChhabra authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    f13f87a View commit details
    Browse the repository at this point in the history
  12. Adding mime type checking to Transformer to identify images.

    PiperOrigin-RevId: 530711523
    Googler authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    7065811 View commit details
    Browse the repository at this point in the history
  13. Refactor track specific logic in Mp4MoovStructure

    PiperOrigin-RevId: 530878135
    SheenaChhabra authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    f20ed11 View commit details
    Browse the repository at this point in the history
  14. Transformer: Support Texture asset loading

    PiperOrigin-RevId: 530888319
    tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    2b79dee View commit details
    Browse the repository at this point in the history
  15. Remove a copybara stripping tag

    #minor-release
    
    PiperOrigin-RevId: 530935437
    icbaker authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    be9bc32 View commit details
    Browse the repository at this point in the history
  16. Rollback of f13f87a

    *** Original commit ***
    
    Create InAppMuxer in transformer
    
    To use the InAppMuxer, the client needs to pass InAppMuxer Factory.
    
    ***
    
    PiperOrigin-RevId: 531056436
    Googler authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    7ebc945 View commit details
    Browse the repository at this point in the history
  17. media3: Capitalize "MIME" for MIME types.

    Find and replace "mime" to "MIME", where appropriate, throughout media3.
    
    PiperOrigin-RevId: 531122121
    dway123 authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    04ef3ae View commit details
    Browse the repository at this point in the history
  18. Move VideoFrameProcessorFactory setter to Transformer

    PiperOrigin-RevId: 531123743
    kim-vde authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    e10270e View commit details
    Browse the repository at this point in the history
  19. Small fixes in TextureAssetLoader

    The texture input tests in TransformerEndToEndTest were not passing on
    Pixel 7. Implemented a fix and fixed other minor threading issues I
    spotted while looking at the code.
    
    PiperOrigin-RevId: 531141659
    kim-vde authored and tof-tof committed May 11, 2023
    Configuration menu
    Copy the full SHA
    25e793f View commit details
    Browse the repository at this point in the history

Commits on May 12, 2023

  1. Refactor ChainingGlShaderProgramListener to use FrameConsumptionManager

    PiperOrigin-RevId: 531180020
    tof-tof authored and icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    4a05988 View commit details
    Browse the repository at this point in the history
  2. End-to-end Robolectric playback test for audio capabilities

    This change adds end-to-end Robolectric playback tests which handle
    the scenario the player is playing audio via passthrough and
    AudioTrack raises the ERROR_DEAD_OBJECT error upon which the player
    attempts to recover by switching to another audio format.
    
    PiperOrigin-RevId: 531180183
    christosts authored and icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    5d0cc24 View commit details
    Browse the repository at this point in the history
  3. Test: Suppress failing 8k24 SSIM bug.

    PiperOrigin-RevId: 531193242
    dway123 authored and icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    32d10c6 View commit details
    Browse the repository at this point in the history
  4. Test: Filter test more precisely, with model instead of manufacturer

    PiperOrigin-RevId: 531233480
    dway123 authored and icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    ef48836 View commit details
    Browse the repository at this point in the history
  5. Remove the media3 MediaLibraryInfoTest from exoplayer2

    This was added in 75cde0a
    but was accidentally exported to the exoplayer2 GitHub repo (where
    `MediaLibraryInfo` is not present).
    
    #minor-release
    
    PiperOrigin-RevId: 531235570
    icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    3d4ebce View commit details
    Browse the repository at this point in the history
  6. Test: Relax constraints on selected Sony devices.

    Until the linked bug is fixed, relax constraints to allow this one device to
    pass, to suppress failures and avoid triage toil.
    
    PiperOrigin-RevId: 531259233
    dway123 authored and icbaker committed May 12, 2023
    Configuration menu
    Copy the full SHA
    10c2e08 View commit details
    Browse the repository at this point in the history
  7. Update the root project name check in publish.gradle

    The name was changed in 052c358
    and this check wasn't updated, meaning publishing no longer worked
    (it didn't publish anything, just printed lots of warnings like
    `Skipping task ':test-utils-robolectric:publish' as it has no
    actions.`). This change means the check is now using the same
    source-of-truth as the root project name, so it shouldn't go out of
    sync again.
    
    #minor-release
    
    PiperOrigin-RevId: 531457952
    icbaker authored and tof-tof committed May 12, 2023
    Configuration menu
    Copy the full SHA
    eb14da5 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2023

  1. Rollback of 7ebc945

    *** Original commit ***
    
    Rollback of f13f87a
    
    *** Original commit ***
    
    Create InAppMuxer in transformer
    
    To use the InAppMuxer, the client needs to pass InAppMuxer Factory.
    
    ***
    
    ***
    
    PiperOrigin-RevId: 531470081
    (cherry picked from commit 19bfa54)
    SheenaChhabra authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    c2c929f View commit details
    Browse the repository at this point in the history
  2. Add test file with metadata track

    Mp4Muxer supports adding Metadata track.
    Added test file to cover this scenario.
    
    PiperOrigin-RevId: 531496409
    (cherry picked from commit 1bcd0ce)
    SheenaChhabra authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    1af981d View commit details
    Browse the repository at this point in the history
  3. Add container module

    This module will contain functionalities common to extractor and muxer.
    
    PiperOrigin-RevId: 531501602
    (cherry picked from commit 4cfab48)
    SheenaChhabra authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    2bc64f9 View commit details
    Browse the repository at this point in the history
  4. Transformer: Add latest input format to DebugTraceUtil

    This can provide more information to help debug muxer errors
    
    PiperOrigin-RevId: 531521974
    (cherry picked from commit baeab6d)
    dway123 authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    14c52b4 View commit details
    Browse the repository at this point in the history
  5. Rollback of b743ad9

    *** Original commit ***
    
    Rollback of 221a56d
    
    *** Original commit ***
    
    Rollback of 749d77b
    
    *** Original commit ***
    
    PiperOrigin-RevId: 531530885
    (cherry picked from commit 7e630fa)
    icbaker authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    cc4f10b View commit details
    Browse the repository at this point in the history
  6. Remove two deprecated SimpleCache constructors

    Use a non-deprecated constructor that takes a `DatabaseProvider`
    instead for better performance.
    
    #minor-release
    
    PiperOrigin-RevId: 532046598
    (cherry picked from commit 2dd3c3b)
    icbaker authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    95bd42d View commit details
    Browse the repository at this point in the history
  7. Signal end-of-stream after creating latch

    The output end-of-stream notification from the last shader could theoretically
    arrive before the latch for detecting it is created, which might cause waiting
    on the latch indefinitely. Create the latch before signaling end of stream so
    that it's guaranteed to be set before the end-of-stream signal arrives.
    
    PiperOrigin-RevId: 532056472
    (cherry picked from commit 53c379c)
    andrewlewis authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    45b51d2 View commit details
    Browse the repository at this point in the history
  8. Refactor SequenceAssetLoader release

    In the past, the SequenceAssetLoader was released in TransformerInternal
    when the export ended.
    
    782f19e was made to release the SequenceAssetLoader earlier, when
    loading ended. This was causing player release timeouts because the last
    AssetLoader in the sequence was released before the SamplePipelines (see
    78669f8 for more information).
    
    The code that was releasing the SequenceAssetLoader was first commented
    out because we didn't have an understanding of what was happening.
    
    This change removes the early SequenceAssetLoader release all together.
    It doesn't have any effect as this code was already commented out.
    
    PiperOrigin-RevId: 532065673
    (cherry picked from commit ff515c1)
    kim-vde authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    31a9680 View commit details
    Browse the repository at this point in the history
  9. Delete deprecated zero-arg DefaultBandwidthMeter constructor

    Use `DefaultBandwidthMeter.Builder` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532069549
    (cherry picked from commit 8a9ac8a)
    icbaker authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    02b989f View commit details
    Browse the repository at this point in the history
  10. Fix lost shader input capacity after end-of-stream

    When exporting compositions with multiple images in a row, transformation could
    get stuck if a shader was ready to accept input when end-of-stream was already
    signaled and queued from upstream. Fix accounting for the downstream capacity.
    
    Manually tested on concatenations with several images and several videos in a
    row, by adding logging and verifying the capacity updates as expected across
    edited media item transitions.
    
    PiperOrigin-RevId: 532088793
    (cherry picked from commit 73d05d5)
    andrewlewis authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    568233f View commit details
    Browse the repository at this point in the history
  11. Effect: Multiple Texture output

    Allow the VideoFrameProcessor to output multiple textures at a time, so that
    lifetime of textures is up to the consumer calling VFP.releaseOutputFrame.
    
    The FinalShaderProgramWrapper also has a new maxCapacity limit added, to ensure
    the a reasonable amount of textures is used and avoid using up memory.
    
    PiperOrigin-RevId: 532094256
    (cherry picked from commit 025f71b)
    dway123 authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    719715d View commit details
    Browse the repository at this point in the history
  12. Remove deprecated DefaultDrmSessionManager constructors

    Use `DefaultDrmSessionManager.Builder` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532102375
    (cherry picked from commit 9d039c6)
    icbaker authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    7ebf05c View commit details
    Browse the repository at this point in the history
  13. Allow ExoPlayer to opt into volume device control, forbidden by default

    PiperOrigin-RevId: 532136692
    (cherry picked from commit 4518dbf)
    oceanjules authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    cc1ad85 View commit details
    Browse the repository at this point in the history
  14. Add Player.replaceMediaItem(s)

    This methods allows to replace single items or a range of items directly
    without using separate operations for add and remove. The advantage is
    more readable code for apps and the potential for player
    implementations to optimize this process (e.g. only replace values
    without interrupting playback).
    
    The current change just introduces the API with its default behavior.
    The default logic will be removed again in the future in favor of
    better logic in the Player implementations.
    
    Issue: #8046
    PiperOrigin-RevId: 532151471
    (cherry picked from commit 7289186)
    tonihei authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    6197b57 View commit details
    Browse the repository at this point in the history
  15. Remove two deprecated InvalidResponseCodeException constructors

    Use a non-deprecated constructor that accepts additional fields(`cause`, `responseBody`) to enhance error logging.
    
    #minor-release
    
    PiperOrigin-RevId: 532190896
    (cherry picked from commit d73f7dd)
    rohitjoins authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    14026a5 View commit details
    Browse the repository at this point in the history
  16. Test: Suppress SSIM timeouts on galaxy fold/flip.

    This is a failure only in SSIM, so it seems unlikely we'll prioritize this over
    other work or bugs soon. Suppress test failures to reduce triage burden.
    
    PiperOrigin-RevId: 532200729
    (cherry picked from commit 7050340)
    dway123 authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    05c2ff3 View commit details
    Browse the repository at this point in the history
  17. Update mixed input test to include images of different aspect ratios

    Makes this test a little more thorough.
    
    PiperOrigin-RevId: 532386515
    (cherry picked from commit 8ab38dc)
    tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    fcc11a0 View commit details
    Browse the repository at this point in the history
  18. Enable live DASH stream for IMA DAI

    This change enables the IMA extension to play live DASH streams
    with DAI support. Samples streams can be found and played in the
    main demo app.
    
    Issue: #10912
    #minor-release
    PiperOrigin-RevId: 532407708
    (cherry picked from commit 806f19c)
    marcbaechinger authored and tof-tof committed May 17, 2023
    Configuration menu
    Copy the full SHA
    73b8233 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2023

  1. Remove deprecated DownloadHelper format-specific methods

    Use `forMediaItem` instead.
    
    PiperOrigin-RevId: 532414060
    (cherry picked from commit e19e828)
    icbaker authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    82500e6 View commit details
    Browse the repository at this point in the history
  2. Increase ExoPlayer version number to 2.18.7

    #minor-release
    
    PiperOrigin-RevId: 532436786
    (cherry picked from commit 0b0695a)
    icbaker authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    379330e View commit details
    Browse the repository at this point in the history
  3. Remove deprecated DownloadService constructor

    Use a non deprecated constructor that includes the option to provide a `channelDescriptionResourceId` parameter.
    
    #minor-release
    
    PiperOrigin-RevId: 532450975
    (cherry picked from commit 173e1b9)
    rohitjoins authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    2b1e04e View commit details
    Browse the repository at this point in the history
  4. Map lib-muxer and lib-container from androidx to exoplayer2

    PiperOrigin-RevId: 532458665
    (cherry picked from commit 18bbc94)
    SheenaChhabra authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    74c6ca1 View commit details
    Browse the repository at this point in the history
  5. Add release notes for ExoPlayer 2.18.7 release

    #minor-release
    
    PiperOrigin-RevId: 532462895
    (cherry picked from commit 6a401ad)
    icbaker authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    749dcef View commit details
    Browse the repository at this point in the history
  6. Adjust image input ForPixelWidthHeightRatio

    PiperOrigin-RevId: 532463400
    (cherry picked from commit a6f5d38)
    tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    944b51f View commit details
    Browse the repository at this point in the history
  7. Remove deprecated String constants for Charsets

    Use Kotlin Charsets from the `kotlin.text` package, the `java.nio.charset.StandardCharsets` or the `com.google.common.base.Charsets` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532469103
    (cherry picked from commit 1f803a6)
    rohitjoins authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    fbbc716 View commit details
    Browse the repository at this point in the history
  8. Remove deprecated WorkManagerScheduler constructor

    Use a non deprecated constructor that includes the option to provide a `Context` parameter instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532535770
    (cherry picked from commit 2570b92)
    rohitjoins authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    a92eff0 View commit details
    Browse the repository at this point in the history
  9. Avoid using @see in the summary fragment in C.java

    PiperOrigin-RevId: 532536037
    (cherry picked from commit 82abbd0)
    tianyif authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    74e2d87 View commit details
    Browse the repository at this point in the history
  10. Simplify FrameConsumptionManager onReadyToAcceptInputFrame logic

    Propagate the "end of current stream" signal directly after queueing the
    last frame, instead of waiting for the next onReadyToAcceptInputFrame()
    call.
    
    PiperOrigin-RevId: 532739462
    (cherry picked from commit 410debd)
    kim-vde authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    8a8c5d5 View commit details
    Browse the repository at this point in the history
  11. Move NAL unit related methods from common to container module

    PiperOrigin-RevId: 532750099
    (cherry picked from commit da5911d)
    SheenaChhabra authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    555fc8d View commit details
    Browse the repository at this point in the history
  12. Effect: Make TexturePool and use in FinalWrapper.

    Have the FinalShaderProgramWrapper / VideoFrameProcessor texture
    output access textures provided through a texture pool, that
    recycles used textures.
    
    Also, add the TexturePool interface to generally re-use textures.
    
    PiperOrigin-RevId: 532754377
    (cherry picked from commit 1f9977f)
    dway123 authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    5712a5b View commit details
    Browse the repository at this point in the history
  13. Update javadoc for ExoPlayer 2.18.7

    PiperOrigin-RevId: 532770925
    (cherry picked from commit 937f3b5)
    icbaker authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    e554d80 View commit details
    Browse the repository at this point in the history
  14. Move Mp4LocationData from extractor module to container module

    This class will be shared between extractor and muxer module.
    
    PiperOrigin-RevId: 532784415
    (cherry picked from commit 3aad4f1)
    SheenaChhabra authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    0445c1c View commit details
    Browse the repository at this point in the history
  15. HDR: Blocklist Galaxy Z Fold 4 for HLG tone mapping.

    This device failed on HdrEditingTest's exportAndTranscode_hlg10File_whenHdrEditingUnsupported_toneMapsOrThrows
    before this CL, and succeeds on that test after this CL.
    
    PiperOrigin-RevId: 532796897
    (cherry picked from commit 68946d9)
    dway123 authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    4c1438b View commit details
    Browse the repository at this point in the history
  16. Remove deprecated methods that create an instance of Format

    Use `Format.Builder` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532808478
    (cherry picked from commit 5d0366b)
    rohitjoins authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    d9a3f9c View commit details
    Browse the repository at this point in the history
  17. Add default constructor for InAppMuxer.Factory

    PiperOrigin-RevId: 532838813
    (cherry picked from commit bd95fcd)
    SheenaChhabra authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    a300a50 View commit details
    Browse the repository at this point in the history
  18. Remove deprecated methods Format.copyWithXXX

    Use `Format.buildUpon()` and `setXXX` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 532840625
    (cherry picked from commit 19b6ce5)
    rohitjoins authored and tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    1edec28 View commit details
    Browse the repository at this point in the history
  19. HDR texture asset loading

    PiperOrigin-RevId: 532846248
    (cherry picked from commit 43638cd)
    tof-tof committed May 18, 2023
    Configuration menu
    Copy the full SHA
    fe51d01 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    16db5db View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. Always use sRGB/BT.709 for bitmap inputs

    PiperOrigin-RevId: 533117700
    (cherry picked from commit c5ec457)
    claincly authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    35466ac View commit details
    Browse the repository at this point in the history
  2. Add argument validation in Mp4LocationData

    PiperOrigin-RevId: 533121451
    (cherry picked from commit 2a411ec)
    SheenaChhabra authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    c3b6e83 View commit details
    Browse the repository at this point in the history
  3. Use TestUtil.getPublicMethods instead of getDeclaredMethods

    JaCoCo introduces private synthetic methods (even on interfaces) which
    have to be skipped when checking that a 'forwarding' implementation does
    forward everything. Instead we can use the existing `getPublicMethods()`
    method which implicitly skips these (since they're private).
    
    PiperOrigin-RevId: 533130932
    (cherry picked from commit 1c104f6)
    oceanjules authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    20b9129 View commit details
    Browse the repository at this point in the history
  4. Allow mock(Random.class) to work with Java 17

    https://stackoverflow.com/questions/70993863/mockito-can-not-mock-random-in-java-17
    
    #minor-release
    
    PiperOrigin-RevId: 533161221
    (cherry picked from commit 0460e1a)
    icbaker authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    40c5b58 View commit details
    Browse the repository at this point in the history
  5. Effect: Use callback to release texture

    This allows us to avoid needing a reference to the VideoFrameProcessor, which
    can be especially difficult if an App only has a reference to the
    VideoFrameProcessor.Factory it passes into Transformer/ExoPlayer.
    
    PiperOrigin-RevId: 533205983
    (cherry picked from commit 4d7c57e)
    dway123 authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    4c2d546 View commit details
    Browse the repository at this point in the history
  6. Add FilteringMediaSource that only provides tracks of given types

    This is useful for cases where only certain types (e.g. only video)
    from a source are needed and other tracks should be filtered out
    completely to avoid later track selection issues.
    
    #minor-release
    
    PiperOrigin-RevId: 533394658
    (cherry picked from commit 78c56d2)
    tonihei authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    6ac3dd9 View commit details
    Browse the repository at this point in the history
  7. Add a getter method for texture manager

    PiperOrigin-RevId: 533402277
    (cherry picked from commit 03e3ce1)
    claincly authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    6f028be View commit details
    Browse the repository at this point in the history
  8. Remove deprecated ExoPlayer.retry(), use prepare() instead.

    #minor-release
    
    PiperOrigin-RevId: 533463348
    (cherry picked from commit fa21b2e)
    icbaker authored and tof-tof committed May 25, 2023
    Configuration menu
    Copy the full SHA
    c486822 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Set video size to 0/0 when video render is disabled

    In terms of MCVR with a `VideoRendererEventListener`, the video size is set to
    0/0 right after `onVideoDisabled()` is called and is set to the actual size as
    soon as the video size is known after 'onVideoEnabled()`.
    
    For ExoPlayer and in terms of the `Player` interface, `Player.getVideoSize()`
    returns a video size of 0/0 when `Player.getCurrentTracks()` does not support
    `C.TRACK_TYPE_VIDEO`. This is ensured by the masking behavior of
    `ExoPlayerImpl` that sets an empty track selection result when the playing
    period changes due to a seek or timeline removal.
    
    When transitioning playback from a video media item to the next, or when
    seeking within the same video media item, the renderer is not disabled.
    
    #minor-release
    
    PiperOrigin-RevId: 533479600
    (cherry picked from commit f38cbad)
    marcbaechinger authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    a762f19 View commit details
    Browse the repository at this point in the history
  2. Move MdtaMetadataEntry class into container module

    This class is to be shared between extractor, transformer
    and muxer module.
    
    PiperOrigin-RevId: 533490888
    (cherry picked from commit fe5dedb)
    SheenaChhabra authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    dfbfdc8 View commit details
    Browse the repository at this point in the history
  3. Make DrmConfiguration Bundleable

    PiperOrigin-RevId: 533721679
    (cherry picked from commit 5e73345)
    oceanjules authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    01e5f46 View commit details
    Browse the repository at this point in the history
  4. Remove deprecated zero-arg DefaultTrackSelector constructor

    Use `DefaultTrackSelector(Context)` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 533985937
    (cherry picked from commit a8928fb)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    9066652 View commit details
    Browse the repository at this point in the history
  5. Run clang-format on GLSL

    PiperOrigin-RevId: 534015933
    (cherry picked from commit 65c33e6)
    andrewlewis authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    82af7f1 View commit details
    Browse the repository at this point in the history
  6. Use Ascii for conversion to lower case

    PiperOrigin-RevId: 534016337
    (cherry picked from commit 42632b2)
    andrewlewis authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    2469ee4 View commit details
    Browse the repository at this point in the history
  7. Remove unnecessary volatile

    This field is always accessed with the mutex held.
    
    PiperOrigin-RevId: 534027096
    (cherry picked from commit ea42465)
    andrewlewis authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    ce12edf View commit details
    Browse the repository at this point in the history
  8. Extend main Player Javadoc

    The main interface documentation hasn't been updated substantially
    since 2017 and is missing notes for many of its current features and
    requirements.
    
    Also change the recommendation for implementors from BasePlayer to
    SimpleBasePlayer to ensure new classes are more likely to cover all
    of the interface requirements.
    
    #minor-release
    
    PiperOrigin-RevId: 534027117
    (cherry picked from commit d75e24a)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    9f6969b View commit details
    Browse the repository at this point in the history
  9. Untangle PlayerInfo/PlaybackInfo updates

    The methods in ExoPlayerImpl and MediaControllerImplBase that determine
    the new PlayerInfo/PlaybackInfo currently have a hard-to-reason-about
    setup where the method generating the new info accesses other methods
    that rely on the existing class field instead of working with the
    passed in PlayerInfo/PlaybackInfo. This prevents reuse of the util
    methods (e.g. for replaceMediaItems) because they access potentially
    stale state.
    
    This change untangles these methods a bit by making the util methods
    either static or at least ensure that they don't rely on existing
    class fields of PlayerInfo/PlaybackInfo. Overall, the change is a
    complete no-op.
    
    #minor-release
    
    PiperOrigin-RevId: 534036633
    (cherry picked from commit f898a7f)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    a80b167 View commit details
    Browse the repository at this point in the history
  10. ExoPlayer: Add setVideoFrameProcessorFactory().

    This allows apps to use a custom VideoFrameProcessor implementation for video
    playback. This may be useful, for example, when outputting to a texture.
    
    PiperOrigin-RevId: 534044831
    (cherry picked from commit 703923d)
    dway123 authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    05c5fe2 View commit details
    Browse the repository at this point in the history
  11. Effect: Add GlTextureInfo release() and accessor methods.

    This allows us to disallow access after release.
    
    PiperOrigin-RevId: 534046475
    (cherry picked from commit d357cd6)
    dway123 authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    e755359 View commit details
    Browse the repository at this point in the history
  12. Write metadata to Mp4Muxer in the release() method

    Earlier metadata was written multiple times as it came.
    With new changes, all the distinct metadata entries will
    get collected and will be written at once in the end.
    
    PiperOrigin-RevId: 534088401
    (cherry picked from commit f88fde8)
    SheenaChhabra authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    0e937ff View commit details
    Browse the repository at this point in the history
  13. Fix seeking bug in opus

    Fix a bug when seeking in an opus container. The calculations inside
    DefaultOggSeeker may overflow a long primitive.
    
    Issue: androidx/media#391
    
    #minor-release
    
    PiperOrigin-RevId: 534128513
    (cherry picked from commit 5535cd1)
    christosts authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    85a9d56 View commit details
    Browse the repository at this point in the history
  14. Add artwork display mode to PlayerView

    This change deprecates `PlayerView.setUseArtwork(boolean)` and
    introduces `setArtworkDisplayMode(mode)` and
    `artworkDisplayMode="off|fit|fill"` instead.
    
    - off: no artwork is displayed (like deprecated useArtwork=false)
    - fit: letterbox like media (like deprecated useArtwork=true)
    - fill: scales the artwork to fill the entire width/weight of the player view
    
    #minor-release
    
    PiperOrigin-RevId: 534167226
    (cherry picked from commit 7f3f2fe)
    marcbaechinger authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    d0a3468 View commit details
    Browse the repository at this point in the history
  15. Remove deprecated ExoPlayer.setHandleWakeLock(boolean)

    Use `setWakeMode(int)` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534344010
    (cherry picked from commit 90303e4)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    c9706e9 View commit details
    Browse the repository at this point in the history
  16. Remove deprecated `DefaultLoadControl.Builder.createDefaultLoadContro…

    …l()`
    
    Use `build()` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534348979
    (cherry picked from commit b71487e)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    78414e9 View commit details
    Browse the repository at this point in the history
  17. Remove deprecated DownloadManager constructor

    Use the constructor that takes an `Executor` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534370613
    (cherry picked from commit b56fddf)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    3643b4e View commit details
    Browse the repository at this point in the history
  18. Make MediaItem.SubtitleConfiguration bundleable

    PiperOrigin-RevId: 534390168
    (cherry picked from commit 3ac41de)
    oceanjules authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    b79800a View commit details
    Browse the repository at this point in the history
  19. Remove deprecated Cue constructors, use Cue.Builder instead

    #minor-release
    
    PiperOrigin-RevId: 534412494
    (cherry picked from commit 6dcd627)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    54a7b95 View commit details
    Browse the repository at this point in the history
  20. Remove deprecated OfflineLicenseHelper constructor

    Use the non-deprecated constructor instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534426655
    (cherry picked from commit 523ec80)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    a246969 View commit details
    Browse the repository at this point in the history
  21. Remove four deprecated AnalyticsListener decoder methods

    Use the audio or video specific variants instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534436644
    (cherry picked from commit 868e442)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    81c666f View commit details
    Browse the repository at this point in the history
  22. Improve MediaSource threading constraints documentation

    And fix violation of this in AdsMediaSource.
    
    #minor-release
    
    PiperOrigin-RevId: 534441648
    (cherry picked from commit 23b53fc)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    1fc7612 View commit details
    Browse the repository at this point in the history
  23. Ensure rootProject.name is only set from settings.gradle

    I moved this assignment in 326f53a
    in order to provide a single source-of-truth for `publish.gradle`,
    but as pointed out in Issue: androidx/media#416 this breaks apps that are depending
    on our project locally using the instructions we publish. Instead we can
    remove the `rootProject.name` check from `publish.gradle`, and check an
    explicit boolean value instead to indicate if the root project is 'ours'
    (with this boolean only set from `settings.gradle`, so it doesn't get
    picked up by apps depending on us locally).
    
    #minor-release
    
    PiperOrigin-RevId: 534459085
    (cherry picked from commit 3ca3e11)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    79cef8c View commit details
    Browse the repository at this point in the history
  24. Add support for updating Metadata entries via InAppMuxer

    Mp4Muxer already supports writing Mp4LocationData so added that
    as supported Metadata entry.
    Support for more Metadata entries will be added in upcoming CLs.
    
    PiperOrigin-RevId: 534473866
    (cherry picked from commit 24753da)
    SheenaChhabra authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    dea1390 View commit details
    Browse the repository at this point in the history
  25. Add logging for ExtTexMgr

    - Number of frames from SurfaceTexture that is sent downstream
    - Times ExtTexMgr signaled end of current input stream
    
    PiperOrigin-RevId: 534487842
    (cherry picked from commit d21bf0e)
    claincly authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    4a0660f View commit details
    Browse the repository at this point in the history
  26. Codec: Reduce limit for max decoder pending output frames.

    Tentative/experimental value to reduce codec timeouts. We will reconsider using a larger limit after seeing whether this really does reduce error rate.
    
    PiperOrigin-RevId: 534491615
    (cherry picked from commit 8d7848a)
    dway123 authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    08d7aa3 View commit details
    Browse the repository at this point in the history
  27. Remove deprecated onSeekProcessed

    This change removes it from `Player.Listener` and `AnalyticsListener`,
    use `onPositionDiscontinuity` with `DISCONTINUITY_REASON_SEEK` instead.
    
    #minor-release
    
    PiperOrigin-RevId: 534757426
    (cherry picked from commit 624ab25)
    icbaker authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    c9e21e3 View commit details
    Browse the repository at this point in the history
  28. Add support for adding XMP data via transformer

    PiperOrigin-RevId: 534801202
    (cherry picked from commit be6f5e4)
    SheenaChhabra authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    0d15664 View commit details
    Browse the repository at this point in the history
  29. Add support for adding capture FPS via transformer

    PiperOrigin-RevId: 534814892
    (cherry picked from commit cf4be52)
    SheenaChhabra authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    348157a View commit details
    Browse the repository at this point in the history
  30. Add clarifiying note to Player.replaceMediaItem

    This helps to highlight that the replaced range doesn't need to have
    the same size as before.
    
    #minor-release
    
    PiperOrigin-RevId: 534834917
    (cherry picked from commit 19ded9c)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    75af95e View commit details
    Browse the repository at this point in the history
  31. Make MediaItem.AdsConfiguration bundleable

    PiperOrigin-RevId: 534848363
    (cherry picked from commit e8a9349)
    oceanjules authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    e446642 View commit details
    Browse the repository at this point in the history
  32. Tidy TextureManager javadoc

    Fix `@param`s and clarify wording.
    
    PiperOrigin-RevId: 534857204
    (cherry picked from commit 07e6708)
    andrewlewis authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    5dfb011 View commit details
    Browse the repository at this point in the history
  33. Keep aspect ratio of PlayerView when IDLE

    When the video renderer is disabled, the video size is set to 0/0
    and sent to listeners. The `PlayerView` potentially still has the last frame
    displayed when the player is stopped or an error occurs. This may have the
    effect that the frame is displayed distorted.
    
    Not changing the aspect ratio when the video size arrives when the player is IDLE
    avoids the problem. In the case when playback starts again and the renderes is
    enabled, another video size is sent to the listener.
    
    #minor-release
    
    PiperOrigin-RevId: 534860889
    (cherry picked from commit 3e3aaf8)
    marcbaechinger authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    97f3e13 View commit details
    Browse the repository at this point in the history
  34. Clarify color transfers for internal textures

    PiperOrigin-RevId: 534869452
    (cherry picked from commit a785d7d)
    andrewlewis authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    9b5040f View commit details
    Browse the repository at this point in the history
  35. Effects: Have VFP texture output disable surface output.

    Also, document that texture output disables manual frame release.
    
    In the past, texture output would lead to surface output methods throwing. Now,
    they're simply no-ops instead.
    
    PiperOrigin-RevId: 534894168
    (cherry picked from commit 21ee2e2)
    dway123 authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    ff4bc62 View commit details
    Browse the repository at this point in the history
  36. Use base Uri from the RTSP DESCRIBE response header for relative paths

    Issue: #11160
    
    #minor-release
    
    PiperOrigin-RevId: 534896789
    (cherry picked from commit b72ef3e)
    microkatz authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    ebb9e75 View commit details
    Browse the repository at this point in the history
  37. Merge pull request #386 from yschimke:icon

    PiperOrigin-RevId: 534927167
    (cherry picked from commit d8e30c3)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    4a12546 View commit details
    Browse the repository at this point in the history
  38. Implement Player.replaceMediaItem(s)

    This change moves the default logic into the actual Player
    implementations, but does not introduce any behavior changes compared
    to addMediaItems+removeMediaItems except to make the updates "atomic"
    in ExoPlayerImpl, SimpleBasePlayer and MediaController. It also
    provides backwards compatbility for cases where Players don't support
    the operation.
    
    Issue: #8046
    
    #minor-release
    
    PiperOrigin-RevId: 534945089
    (cherry picked from commit 6309b11)
    tonihei authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    6a9cb2c View commit details
    Browse the repository at this point in the history
  39. Move OnInputFrameProcessedListener into it's own file

    PiperOrigin-RevId: 535183521
    (cherry picked from commit c9ca510)
    tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    c28d8b5 View commit details
    Browse the repository at this point in the history
  40. Show the file path of the exported output video.

    PiperOrigin-RevId: 535233266
    (cherry picked from commit 02698a8)
    Googler authored and tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    95fdd3f View commit details
    Browse the repository at this point in the history
  41. Merge pull request #335 from cedricxperi:dts-direct-passthrough-support

    PiperOrigin-RevId: 535255453
    (cherry picked from commit 6a91670)
    tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    9466d5d View commit details
    Browse the repository at this point in the history
  42. Add exoplayer imports

    #minor-release
    
    PiperOrigin-RevId: 535268825
    (cherry picked from commit e7d1c57)
    tof-tof committed May 26, 2023
    Configuration menu
    Copy the full SHA
    1b302db View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. Configuration menu
    Copy the full SHA
    a984e29 View commit details
    Browse the repository at this point in the history
  2. Rollback of 703923d

    *** Original commit ***
    
    ExoPlayer: Add setVideoFrameProcessorFactory().
    
    This allows apps to use a custom VideoFrameProcessor implementation for video
    playback. This may be useful, for example, when outputting to a texture.
    ***
    
    PiperOrigin-RevId: 536391597
    (cherry picked from commit dbbb091)
    dway123 authored and tof-tof committed May 30, 2023
    Configuration menu
    Copy the full SHA
    aec098a View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. Fix recreation of DefaultShaderProgram in FinalWrapper

    `outputSurfaceInfoChanged` is not reset when `defaultShaderProgram` is null.
    That is, on the first time `ensureConfigured()` is called with output size
    changed, `outputSurfaceInfoChanged` is not set to false after creating the
    `defaultShaderProgram`, and `defaultShaderProgram` will be created again on the
    second time `ensureConfigured()` is called.
    
    PiperOrigin-RevId: 537870404
    (cherry picked from commit 3d8a2f8)
    claincly authored and tof-tof committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    82fcbd2 View commit details
    Browse the repository at this point in the history
  2. Override ParserException#getMessage

    PiperOrigin-RevId: 537908595
    (cherry picked from commit f8be8c0)
    Googler authored and tof-tof committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    6226310 View commit details
    Browse the repository at this point in the history
  3. Allow playback of MediaItems with LocalConfiguration

    When initiated by MediaController, it should be possible for `MediaSession` to pass `MediaItems` to the `Player` if they have `LocalConfiguration`. In such case, it is not required to override `MediaSession.Callback.onAddMediaItems`, because the new current default implementation will handle it.
    
    However, in other cases, MediaItem.toBundle() will continue to strip the LocalConfiguration information.
    
    Issue: androidx/media#282
    
    #minor-release
    
    PiperOrigin-RevId: 537993460
    (cherry picked from commit bcddaf2)
    oceanjules authored and tof-tof committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    630abd8 View commit details
    Browse the repository at this point in the history
  4. Revert AndroidTestUtil.canDecode to use EncoderUtil.findCodecForFormat

    fedd99b introduced using `DefaultDecoderFactory.getDecoderInfo(format) != null` caused certain tests not to be skipped when they were expected to be, creating more mh failures.
    
    PiperOrigin-RevId: 537820370
    (cherry picked from commit c78151b)
    tof-tof committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    d5f0ff0 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Add utility to create ScheduledExecutorService

    PiperOrigin-RevId: 538129792
    (cherry picked from commit 13df52b)
    claincly authored and tof-tof committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    72983cb View commit details
    Browse the repository at this point in the history
  2. Defer outputting the metadata sample when TimestampAdjuster isn't ini…

    …tialized
    
    The sample timestamp carried by the emsg box can have a significant delta when comparing to the earliest presentation timestamp of the segment. Using this timestamp to intialize the timestamp offset in TimestampAdjuster will cause the media sample to have a wrong adjusted timestamp. So we should defer adjusting the metadata sample timestamp until the TimestampAdjuster is initialized with a real media sample.
    
    PiperOrigin-RevId: 538172841
    (cherry picked from commit 08c189e)
    tianyif authored and tof-tof committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    07a1998 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #425 from vishnuchilakala:set_min_live_position

    PiperOrigin-RevId: 538173603
    (cherry picked from commit 2c7d929)
    tof-tof committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    df80690 View commit details
    Browse the repository at this point in the history
  4. Add support for passing creation time via InAppMuxer

    PiperOrigin-RevId: 538175466
    (cherry picked from commit 6dc8e06)
    SheenaChhabra authored and tof-tof committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    bbd7bd8 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #439 from kaidokert:pick_workaround

    PiperOrigin-RevId: 538209925
    (cherry picked from commit 824960b)
    tof-tof committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    2ca5cef View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Log additional information on test runner timeout

    PiperOrigin-RevId: 538437142
    (cherry picked from commit 136f323)
    andrewlewis authored and tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    39de7a6 View commit details
    Browse the repository at this point in the history
  2. 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 cfcc53b)
    dway123 authored and tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    e20cace View commit details
    Browse the repository at this point in the history
  3. Tests for disabled color transfers

    #minor-release
    
    PiperOrigin-RevId: 538466615
    (cherry picked from commit ac18e2e)
    tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    af70eed View commit details
    Browse the repository at this point in the history
  4. Fix 1 ErrorProneStyle finding

    PiperOrigin-RevId: 538469993
    (cherry picked from commit bc94a0e)
    oceanjules authored and tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    3803055 View commit details
    Browse the repository at this point in the history
  5. 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 01dbda1)
    kim-vde authored and tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    e7673d4 View commit details
    Browse the repository at this point in the history
  6. Test: Move duplicated GL tone mapping logic into helper methods.

    PiperOrigin-RevId: 538491957
    (cherry picked from commit 466308c)
    dway123 authored and tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    a2467d4 View commit details
    Browse the repository at this point in the history
  7. DefaultVideoFrameProcessorMultipleTextureOutputPixelTest fixes & cleanup

    PiperOrigin-RevId: 538495675
    (cherry picked from commit 85bfc08)
    tof-tof committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    5c32c5c View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2023

  1. 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 63b6df3)
    dway123 authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    7becf58 View commit details
    Browse the repository at this point in the history
  2. Enable nullness checker for Muxer module androidTest library

    PiperOrigin-RevId: 538742957
    (cherry picked from commit f582e41)
    SheenaChhabra authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    8bb4461 View commit details
    Browse the repository at this point in the history
  3. 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 8ce74aa)
    SheenaChhabra authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    3de2785 View commit details
    Browse the repository at this point in the history
  4. Fix calling extra registerInputStream and not handling EOS

    PiperOrigin-RevId: 538796466
    (cherry picked from commit 782b953)
    claincly authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    5f7d987 View commit details
    Browse the repository at this point in the history
  5. Add 'Keep every nth frame' frame dropping strategy.

    #minor-release
    
    PiperOrigin-RevId: 538804347
    (cherry picked from commit 4bb7b3c)
    tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    48dcce5 View commit details
    Browse the repository at this point in the history
  6. Make StreamKey Bundleable and remove deprecated trackIndex

    #minor-release
    
    PiperOrigin-RevId: 538809105
    (cherry picked from commit 8be5705)
    oceanjules authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    22d2fd6 View commit details
    Browse the repository at this point in the history
  7. Enable re-preparing the ImaSSAIMediaSource

    #minor-release
    
    PiperOrigin-RevId: 538927855
    (cherry picked from commit 499fd09)
    marcbaechinger authored and tof-tof committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    c79e13a View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. 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: #8699
    
    #minor-release
    
    PiperOrigin-RevId: 539021056
    (cherry picked from commit b7e7153)
    rohitjoins authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    958c359 View commit details
    Browse the repository at this point in the history
  2. 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: #10838
    PiperOrigin-RevId: 539028570
    (cherry picked from commit de2ad14)
    marcbaechinger authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    7d22115 View commit details
    Browse the repository at this point in the history
  3. Add a timer to end a video stream prematurely in ExtTexMgr

    PiperOrigin-RevId: 539036285
    (cherry picked from commit 21b5661)
    claincly authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    95ac96a View commit details
    Browse the repository at this point in the history
  4. 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 538143a)
    marcbaechinger authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    43f2ebf View commit details
    Browse the repository at this point in the history
  5. Add missing empty lines

    PiperOrigin-RevId: 539100987
    (cherry picked from commit 4755e73)
    claincly authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    75a745a View commit details
    Browse the repository at this point in the history
  6. 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 2adeb41)
    marcbaechinger authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    694e83f View commit details
    Browse the repository at this point in the history
  7. 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 4eb56cf)
    tianyif authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    68d7214 View commit details
    Browse the repository at this point in the history
  8. Add missing import to StreamKey

    #minor-release
    
    PiperOrigin-RevId: 539112700
    (cherry picked from commit 36a6fe4)
    tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    036f6e8 View commit details
    Browse the repository at this point in the history
  9. Rollback of 21b5661

    *** 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 e790f32)
    Googler authored and tof-tof committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    233655a View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. Transmux video if rotation is only effect applied

    PiperOrigin-RevId: 535554628
    (cherry picked from commit 8ba6b12)
    kim-vde authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    35a37b4 View commit details
    Browse the repository at this point in the history
  2. Image transcoding: Add support for bmp image format.

    With this change we will now support loading bitmaps from all the formats documented [here](https://developer.android.com/guide/topics/media/media-formats#image-formats) except for gifs (because they are animated). Java doc is added to express this.
    
    PiperOrigin-RevId: 535610152
    (cherry picked from commit 7740ccc)
    tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    a21b2c8 View commit details
    Browse the repository at this point in the history
  3. Remove previously deprecated MediaItem.PlaybackProperties in favour…

    … of `LocalConfiguration`.
    
    Deprecated field `MediaItem.playbackProperties` remains for backwards compatibility, but its type is changed from `MediaItem.PlaybackProperties` to `MediaItem.LocalConfiguration`. The private `MediaItem` constructor will now also take in a `LocalConfiguration` argument instead.
    
    PiperOrigin-RevId: 535648420
    (cherry picked from commit b89cc65)
    oceanjules authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    4a7b4c8 View commit details
    Browse the repository at this point in the history
  4. Add only supported MdtaMetadataEntry

    PiperOrigin-RevId: 536351494
    (cherry picked from commit ba8b9d1)
    SheenaChhabra authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    d822e3c View commit details
    Browse the repository at this point in the history
  5. Effect: Remove extra wait on taskExecutor release()

    This future.get() duplicates the wait done in
    singleThreadExecutorService.awaitTermination(). If awaitTermination times out, this future.get() would also result in unnecessary blocking.
    
    PiperOrigin-RevId: 536442153
    (cherry picked from commit d7f4fea)
    dway123 authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    a7137cb View commit details
    Browse the repository at this point in the history
  6. Exoplayer: Suppress check to allow video to run ahead of Audio.

    Otherwise, texture output errors out if video decoding decodes faster than audio,
    hitting the end of the file, while audio is still in the middle of the file.
    
    PiperOrigin-RevId: 536679568
    (cherry picked from commit 2ff8b44)
    dway123 authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    ff7dc13 View commit details
    Browse the repository at this point in the history
  7. Fix codec's MIME type is not used

    In some cases the codec selected for decoding has a different MIME type than
    the media. In thoses cases Transformer continued to use the media's MIME type
    and that caused codec configuration failures.
    
    Removed `EncoderUtil.findCodecForFormat()` as we stopped using the method it
    uses for finding a codec. Plus, the method is only used in the test.
    
    See also `MediaCodecUtil.getALternativeCodecMimeType()`.
    
    PiperOrigin-RevId: 536683663
    (cherry picked from commit fedd99b)
    claincly authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    57f30f1 View commit details
    Browse the repository at this point in the history
  8. Soften MediaCodecRenderer's assumptions about using framework DRM

    #minor-release
    
    PiperOrigin-RevId: 536724725
    (cherry picked from commit 792aa72)
    icbaker authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    67ec32c View commit details
    Browse the repository at this point in the history
  9. Add TransformationRequest toString method

    PiperOrigin-RevId: 536727079
    (cherry picked from commit a8baf21)
    kim-vde authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    f07e5c5 View commit details
    Browse the repository at this point in the history
  10. Use the designated UNSET value for aspect ratio

    PiperOrigin-RevId: 536770380
    (cherry picked from commit 11c52d2)
    claincly authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    f2b8b31 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #420 from changxiangzhong:fix/cp-missing

    PiperOrigin-RevId: 537014587
    (cherry picked from commit 8166b35)
    tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    b16034c View commit details
    Browse the repository at this point in the history
  12. Test: Add special effects for forcing transcode.

    Previously, we would apply a general effect to signal wanting to transcode.
    
    PiperOrigin-RevId: 537034455
    (cherry picked from commit fb032f0)
    dway123 authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    2536efc View commit details
    Browse the repository at this point in the history
  13. Tidy color info checking tests

    ExoPlayer extractors (backing `MetadataRetriever`) now parse the color format
    from the bitstream so using `MetadataRetriever` should be an equivalent but
    more lightweight way to verify the color info.
    
    Also remove try/catch blocks in test code calling into these methods, and add
    skipping based on decoder capabilities in the cases where it was missing.
    
    PiperOrigin-RevId: 537789483
    (cherry picked from commit 88db011)
    andrewlewis authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    a9bc111 View commit details
    Browse the repository at this point in the history
  14. Ignore ByteBuffer position when writing samples in Mp4Muxer

    PiperOrigin-RevId: 537814319
    (cherry picked from commit 6893939)
    SheenaChhabra authored and tof-tof committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    a4a248d View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. 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 af1b9f6)
    icbaker committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    5b4839a View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. 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 73fda2f)
    marcbaechinger authored and tof-tof committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    84cc055 View commit details
    Browse the repository at this point in the history
  2. Add deprecation note to the ExoPlayer 2.19.0 release notes

    #minor-release
    
    PiperOrigin-RevId: 540517113
    (cherry picked from commit 350ced2)
    icbaker authored and tof-tof committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    fb9871f View commit details
    Browse the repository at this point in the history
  3. Fix two more unresolved SVGs in Timeline.Window and Timeline.Period

    These were missed in 1034250
    
    #minor-release
    
    PiperOrigin-RevId: 541860649
    (cherry picked from commit 273953e)
    icbaker authored and tof-tof committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    7d61050 View commit details
    Browse the repository at this point in the history
  4. Update the Exoplayer release notes for 2.19.0 release.

    #minor-release
    
    PiperOrigin-RevId: 542565180
    (cherry picked from commit 7aa13a4)
    tof-tof committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    10b8f72 View commit details
    Browse the repository at this point in the history
  5. Version bump to media3-1.1.0 and exoplayer 2.19.0

    #minor-release
    
    PiperOrigin-RevId: 542881427
    (cherry picked from commit b9d289f)
    tof-tof committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    74c9eb0 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. Version bump for exoplayer 2.19.0 continued

    #minor-release
    
    PiperOrigin-RevId: 543369900
    (cherry picked from commit fb6a496)
    tof-tof committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    7bd6e9b View commit details
    Browse the repository at this point in the history
  2. Update javadoc for exoplayer 2.19.0 release

    #minor-release
    
    PiperOrigin-RevId: 543393737
    (cherry picked from commit 7676709)
    tof-tof committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    0b9a3db View commit details
    Browse the repository at this point in the history
  3. Fix bug where PlayerView distorts video when video size is unknown

    PiperOrigin-RevId: 541640959
    (cherry picked from commit 3f991f6)
    marcbaechinger committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    129a3d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fd29199 View commit details
    Browse the repository at this point in the history