1. 26 Jun, 2020 5 commits
  2. 23 Jun, 2020 20 commits
  3. 17 Jun, 2020 15 commits
    • Bump version to 2.11.6 · 92fd3bc2
      PiperOrigin-RevId: 316949571
      olly committed
    • Rollback of https://github.com/google/ExoPlayer/commit/b6f5a263f725089c026bb8416ade555f4f16a2bc · ffa4ad0e
      *** Original commit ***
      
      Rollforward of commit 5612ac50.
      
      *** Reason for rollforward ***
      
      Rollforward after making sure the handler is created
      from the playback thread and not from an app thread.
      
      *** Original change description ***
      
      Rollback of https://github.com/google/ExoPlayer/commit/e1beb1d1946bb8ca94f62578aee8cbadd97b6e2b
      
      *** Original commit ***
      
      Expose experimental offload scheduling
      
      Add a new scheduling mode that stops ExoPlayer main loop
      when the audio offload buffer is full and resume it...
      
      ***
      
      PiperOrigin-RevId: 316914147
      olly committed
    • Remove unused previousExtractor from HlsExtractorFactory · a5bc91f0
      PiperOrigin-RevId: 316902430
      aquilescanta committed
    • Remove overloaded set method · 733e71b4
      PiperOrigin-RevId: 316900193
      bachinger committed
    • Rollforward of commit 5612ac50. · b6f5a263
      *** Reason for rollforward ***
      
      Rollforward after making sure the handler is created
      from the playback thread and not from an app thread.
      
      *** Original change description ***
      
      Rollback of https://github.com/google/ExoPlayer/commit/e1beb1d1946bb8ca94f62578aee8cbadd97b6e2b
      
      *** Original commit ***
      
      Expose experimental offload scheduling
      
      Add a new scheduling mode that stops ExoPlayer main loop
      when the audio offload buffer is full and resume it when
      it has been partially played.
      
      This mode needs to be enabled and dissabled manually by the app
      for now.
      
      #exo-offload
      
      ***
      
      ***
      
      PiperOrigin-RevId: 316898804
      krocard committed
    • Workaround unexpected discard of preloaded ad · ed0778d0
      After an ad pod coming up has preloaded, if the user seeks before it
      plays we get pauseAd/stopAd called for that ad pod. Also, the ad will
      not load again. Work around this unexpected behavior by handling
      pauseAd/stopAd and discarding the ad.
      
      In future, it's likely that the IMA SDK will stop calling those
      methods, and will loadAd again for the preloaded ad that was
      unexpectedly discarded. This change should be compatible with that,
      because the ad won't be discarded any more due to not calling stopAd.
      
      Issue: #7492
      PiperOrigin-RevId: 316873699
      andrewlewis committed
    • Remove some ad playback state change requirements · 2546be51
      Ads can appear due to asynchronous ad tag requests completing after
      earlier ads in a pod have loaded, so remove the requirement that the
      ad count can't change. The MediaPeriodQueue should handling discarding
      buffered content if an ad appears before already buffered content, so
      I think this case is actually handled correctly by the core player
      already.
      
      Also remove the requirement that an ad URI can't change. This is a
      defensive measure for now, but it's likely that a later fix in the IMA
      SDK for an issue where loadAd is not called after preloading then
      seeking before a preloaded ad plays will result in loadAd being called
      more than once, and I think it's possible that the second call to
      loadAd may have a different URI. Because the ad URI should only change
      after an intermediate seek to another MediaPeriod, there shouldn't be
      any problems with buffered data not getting discarded.
      
      Issue: #7477
      PiperOrigin-RevId: 316871371
      andrewlewis committed
    • Deflake DecoderVideoRendererTest · 99954b4c
      The test was trying to synchronize a background decoding thread by
      waiting for pending decode calls. However, the background thread needs
      to fully queue the newly available output buffer before we can stop
      waiting to ensure it's actually fully predictable. So we change the
      pending wait to wait until the input buffer is cleared, which only
      happens after the decoder is definitely done with it.
      
      Also properly clean-up decoder (including shutting down the background
      thread).
      
      PiperOrigin-RevId: 316870659
      tonihei committed
    • Move IMA SDK callbacks into inner class · 28695d9a
      The release() method was added in the recent IMA API changes for
      preloading and now 'collides' with the ExoPlayer AdsLoader release
      method. This led to all ads completing being treated as a call to
      completely release the ads loader, which meant that the ad playback
      state was not updated on resuming after all ads had completed, which
      in turn led to playback getting stuck buffering on returning from the
      background after all ads played.
      
      Move the IMA callbacks into an inner class to avoid this.
      
      Issue: #7508
      PiperOrigin-RevId: 316834561
      andrewlewis committed
    • Update deprecation JavaDoc for ExoPlayer DataSpec · f85098a8
      constructor to note that the builder does NOT
      infer the http method from the existence of the
      post body.
      
      PiperOrigin-RevId: 316765677
      olly committed
    • Add MIME types for which every sample is known to be a sync sample. · c808db99
      - Leaving the TODO, since there are still MIME types we're unsure about.
      - Removing AAC because xHE-AAC does not have this property. We may re-add
        it with an additional profile check to exclude xHE-AAC in the future.
      
      PiperOrigin-RevId: 316715147
      olly committed
    • Remove support for MKV invisible flag · e6b6a86a
      We haven't seen it used anywhere in practice. It's a niche feature not
      supported by any other extractors, and is one of the very few things
      stopping us from simplifying MediaSource implementations to not set the
      decodeOnly sample flag. This is a simplification that we want to make,
      since the current mechanism doesn't work properly for cases where a
      downstream decoder adjusts the buffer presentation timestamps so that
      they're different on the output side than on the input side.
      
      PiperOrigin-RevId: 316712302
      olly committed
    • Create HlsMediaChunkExtractor · 2273b00a
      To be the abstraction to use for integrating with MediaParser.
      
      PiperOrigin-RevId: 316710421
      aquilescanta committed
    • Remove unused waitingForKeys in renderers. · aed8cad8
      This flag isn't needed anymore because the waiting for keys happens on
      the source side and the source just returns NOTHING_READ under the
      same conditions.
      
      PiperOrigin-RevId: 316704214
      tonihei committed
    • Move runUntil method to TestUtil as it's used by multiple tests. · cc97bcb4
      We started using this method from other tests unrelated to
      TestExoPlayer, so the method is better placed inside a generic Util
      class.
      
      PiperOrigin-RevId: 316675067
      tonihei committed