1. 26 Jun, 2023 1 commit
  2. 23 Jun, 2023 5 commits
  3. 15 Jun, 2023 1 commit
  4. 09 Jun, 2023 9 commits
    • Rollback of https://github.com/google/ExoPlayer/commit/21b5661897bb684502ae187f2aec83f58a1d21ff · 233655a3
      *** Original commit ***
      
      Add a timer to end a video stream prematurely in ExtTexMgr
      
      ***
      
      This has been submitting for more than 1.5hrs. "This presubmit is running slowly because you have been throttled by Build Queue due to using too much of your Product Area's quota."
      
      adding NO_SQ as this is a pure rollback
      
      PiperOrigin-RevId: 539135970
      (cherry picked from commit e790f3271f209f4fcc955f6d8841ec5219da7156)
      Googler committed
    • Add missing import to StreamKey · 036f6e8c
      #minor-release
      
      PiperOrigin-RevId: 539112700
      (cherry picked from commit 36a6fe4af70031bdf451d759ec9a31633c46ad99)
      tofunmi committed
    • Throw exception when `TimestampAdjuster` initialization hits timeout · 68d7214e
      Add `HlsMediaSource.Factory.setTimestampAdjusterInitializationTimeoutMs(long)` to set the timeout for the loading thread to wait for the `TimestampAdjuster` to initialize. If the initialization doesn't complete before the timeout, a `PlaybackException` is thrown to avoid the playback endless stalling. The timeout is set to zero by default.
      
      This can avoid HLS playback endlessly stalls when manifest has missing discontinuities. According to the HLS spec, all variants and renditions have discontinuities at the same points in time. If not, the one with discontinuities will have a new `TimestampAdjuster` not shared by the others. When the loading thread of that variant is waiting for the other threads to initialize the timestamp and hits the timeout, the playback will stall.
      
      Issue: androidx/media#323
      
      #minor-release
      
      PiperOrigin-RevId: 539108886
      (cherry picked from commit 4eb56cfce76a41ff90d50d2d9e3ea4e9ad0d7b4e)
      tianyifeng committed
    • Fix splitting ad playback state for partial ad group when joining · 694e83f7
      This change addresses the case when the user joins the live stream
      on an ad period but the metadata for the ad period is not emitted.
      This results in inserting a partial ad group.
      
      In this case the ad group duration is longer than the partial ad
      group. If now the partial ad group ends at the period before the
      last period of the window (unknown duration), the splitting algorithm
      didn't recognize that the ad group already ended and made the last
      period wrongly an ad period.
      
      This change handles this edge case by counting the mapped ads in
      the partial ad group to detect this situation and stops splitting.
      
      #minor-release
      
      PiperOrigin-RevId: 539102785
      (cherry picked from commit 2adeb4107790e1a9f822b5b810e532501a02e4aa)
      bachinger committed
    • Add missing empty lines · 75a745a1
      PiperOrigin-RevId: 539100987
      (cherry picked from commit 4755e7313e5a31f5f9b6599ff290580026994b75)
      claincly committed
    • Make current period a placeholder when a live stream is reset · 43f2ebfc
      In case the player is reset while a live stream is playing, the current
      period needs to be a placeholder. This makes sure that the default start
      position is used when the first live timeline arrives after re-preparing.
      
      #minor-release
      
      PiperOrigin-RevId: 539044360
      (cherry picked from commit 538143aad92340ede0891a74c514a213e5513d06)
      bachinger committed
    • Add a timer to end a video stream prematurely in ExtTexMgr · 95ac96ae
      PiperOrigin-RevId: 539036285
      (cherry picked from commit 21b5661897bb684502ae187f2aec83f58a1d21ff)
      claincly committed
    • Do not reset period uid when DashMediaSource is released · 7d221150
      When the source is prepared again after stop, the period uid
      is calculated by subtracting the `firstPeriodId` from the
      period uid that is passed in to `createPeriod`. When this
      happens after stop, the uid from the old period uid that
      is still stored and has the value of the last played uid.
      
      Hence the `firstPeriodId` must not be reset when released.
      
      Issue: google/ExoPlayer#10838
      PiperOrigin-RevId: 539028570
      (cherry picked from commit de2ad14f46f4790063dfef849ba8cc0069f6106e)
      bachinger committed
    • Implement logging support for Common Media Client Data (CMCD) · 958c3596
      Add support for including Common Media Client Data (CMCD) in the outgoing requests of adaptive streaming formats DASH, HLS, and SmoothStreaming.
      
      API structure and API methods:
         *   CMCD logging is disabled by default, use `MediaSource.Factory.setCmcdConfigurationFactory(CmcdConfiguration.Factory cmcdConfigurationFactory)` to enable it.
         *   All keys are enabled by default, override `CmcdConfiguration.RequestConfig.isKeyAllowed(String key)` to filter out which keys are logged.
         *  Override `CmcdConfiguration.RequestConfig.getCustomData()` to enable custom key logging.
      
      NOTE: Only the following fields have been implemented: `br`, `bl`, `cid`, `rtp`, and `sid`.
      
      Issue: google/ExoPlayer#8699
      
      #minor-release
      
      PiperOrigin-RevId: 539021056
      (cherry picked from commit b7e71538a3fc6892cf75f1e0799f339e63d2f1ec)
      rohks committed
  5. 08 Jun, 2023 7 commits
  6. 07 Jun, 2023 7 commits
  7. 06 Jun, 2023 5 commits
  8. 05 Jun, 2023 4 commits
  9. 12 Jun, 2023 1 commit