1. 26 2月, 2021 1 次提交
    • I
      Disable flaky test in ExoPlayerTest · 4364b915
      Ian Baker 提交于
      targetLiveOffsetInMedia_unknownWindowStartTime_doesNotAdjustLiveOffset
      is flaky on the release branch. It's not flaky on the dev-v2 branch
      due to recent changes to FakeClock's behaviour which aren't yet present
      on release-v2.
      4364b915
  2. 25 2月, 2021 10 次提交
  3. 23 2月, 2021 2 次提交
  4. 22 2月, 2021 8 次提交
    • O
      SilenceSampleStream.readData: Handle flags-only buffers · 18a94aa7
      olly 提交于
      The SampleStream.readData contract is that when reading a sample
      with a flags-only buffer, the buffer timestamp and flags should
      be set and the read position should not be advanced.
      
      #minor-release
      
      PiperOrigin-RevId: 357842130
      18a94aa7
    • A
      Fix seeking to a non-zero position in a preloaded ad item · 625c830b
      andrewlewis 提交于
      `ImaAdsLoader` will preload the first ad of a subsequent media item, but the
      preloaded ad might not actually play because the user could seek to a non-zero
      position in that media item (which could trigger playback of a midroll, not the
      preroll). In this case, playback would get stuck because the midroll ad
      expected to play after the seek would never load, because the IMA SDK expected
      the preroll to play first.
      
      Fix this behavior by discarding the preloaded ad break. If there isn't a seek,
      the transition to the next media item is still seamless.
      
      #minor-release
      
      PiperOrigin-RevId: 357682510
      625c830b
    • A
      Fix ad tag loader period index · 326ec967
      andrewlewis 提交于
      Previously it was safe to query the first period in the timeline, but
      now we support using the ads loader in concatenations we need to use
      the current period index instead.
      
      PiperOrigin-RevId: 357578003
      326ec967
    • K
      Upgrade extensions NDK version · c6ed561d
      kimvde 提交于
      Issue:#8581
      PiperOrigin-RevId: 357563419
      c6ed561d
    • O
      Don't clear audioSessionId when audio disabled · 5be7d4da
      olly 提交于
      Issue: #8585
      PiperOrigin-RevId: 357553237
      5be7d4da
    • T
      Clarify/correct restrictions of AdsMediaSource. · 0ab9a219
      tonihei 提交于
      The source can be used in compositions (in fact, every source is
      automatically used in an internal composition when constructing the
      playlist), and there is not really a concept of top-level media source
      any more since the Player supports playlists.
      
      The actual restriction is that the content media source needs to have
      exactly one period to be able to create a SinglePeriodAdTimeline.
      
      #minor-release
      
      PiperOrigin-RevId: 357544191
      0ab9a219
    • K
      Revert logic to decide whether meta atom is full · 84d74339
      kimvde 提交于
      The previous logic was changed under the assumption that the first box
      inside a meta box was not always an hdlr box, but this is not true.
      
      #minor-release
      
      PiperOrigin-RevId: 357200713
      84d74339
    • K
      Add support for MP4/QuickTime non-full meta atoms · 75cc5990
      kimvde 提交于
      PiperOrigin-RevId: 357160215
      75cc5990
  5. 13 2月, 2021 12 次提交
    • O
      Merge pull request #8582 from google/dev-v2-r2.13.1 · 4b1e0fa9
      Oliver Woodman 提交于
      r2.13.1
      4b1e0fa9
    • O
      Fix RequiresApi annotation · 5807d2e0
      olly 提交于
      #minor-release
      
      PiperOrigin-RevId: 357273184
      5807d2e0
    • O
      Bump version to 2.13.1 · 26371ae4
      olly 提交于
      PiperOrigin-RevId: 357219132
      26371ae4
    • T
      Fix available end time calculation for multi-period DASH live streams · 01f57c3c
      tonihei 提交于
      The available end time was accidentally substracted by the start time
      of the last period.
      
      To avoid similar time reference confusion in the future, also renaming
      many variables and methods to clearly reflect the time reference point.
      And to avoid constant conversion, the processManifest method also
      attempts to converge to time relative to the start of the window as
      quickly as possible.
      
      Issue: #8537
      PiperOrigin-RevId: 357001624
      01f57c3c
    • I
      Check if keepalive is enabled before releasing sessions in DDSM.release · 295e8bac
      ibaker 提交于
      If keepalive is disabled the existing code over-eagerly releases
      DrmSession instances. This is arguably OK since a (Default)DrmSession
      should be released before its (Default)Manager is released
      (since the underlying MediaDrm instance might be released when the
      manager is released). And if all sessions are released before the
      manager is released then `sessions` is empty, so the loop is a no-op.
      
      Issue: #8576
      PiperOrigin-RevId: 356955308
      295e8bac
    • I
      Propagate DRM config when creating ad media sources · d48d59bd
      ibaker 提交于
      The `DrmConfiguration.sessionForClearTypes` property is often used
      to ensure a secure decoder is used for clear ads played in encrypted
      content. This is because some devices show black frames when switching
      decoders.
      
      Before this change the DRM config isn't propagated down when
      constructing the ad media source, meaning
      `DrmSessionManager.DRM_UNSUPPORTED` is always used, which will
      cause playback to switch from secure to clear decoder when transitioning
      to an ad break (ignoring the MediaItem `sessionForClearTypes` option.
      
      Issue: #8568
      
      PiperOrigin-RevId: 356951124
      d48d59bd
    • A
      Don't set playback parameters when using tunneling · ed3d1c62
      andrewlewis 提交于
      Issue: #4803
      
      PiperOrigin-RevId: 356923345
      ed3d1c62
    • A
      Add a method to focus the 'skip ad' button, if shown · d0dd33e5
      andrewlewis 提交于
      Issue: #8565
      
      PiperOrigin-RevId: 356691251
      d0dd33e5
    • I
      Cache the last DrmSessionManager instance inside the default provider · 19ab087c
      ibaker 提交于
      Without this a new manager is instantiated for every item in a playlist,
      meaning the impact of caching improvements to DefaultDrmSessionManager
      are reduced (since the cache doesn't persist across playlist items).
      
      With this change, playlists of items with identical DRM config will use
      the same manager instance (and thus share existing sessions).
      
      Issue: #8523
      PiperOrigin-RevId: 356690852
      19ab087c
    • A
      Handle loading the same ad more than once · 56feb96f
      andrewlewis 提交于
      Also allow the player's prepared ad media period durations array to exceed the
      length of the loaded ad URIs array, as it's possible for the player to buffer
      an ad media period fully at the point where it's known that an ad is coming up
      but its URI is still unknown.
      
      PiperOrigin-RevId: 356249284
      56feb96f
    • T
      Don't apply speed adjustment if windowStartTime is unknown. · 5211f06d
      tonihei 提交于
      This may happen for HLS live streams without program date time
      information.
      
      Issue: #8560
      
      PiperOrigin-RevId: 356227729
      5211f06d
    • K
      Transformer: remove SpeedProvider interface from Javadoc · a0851431
      kimvde 提交于
      #minor-release
      
      PiperOrigin-RevId: 356221487
      a0851431
  6. 05 2月, 2021 4 次提交
  7. 04 2月, 2021 3 次提交