1. 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
  2. 05 2月, 2021 4 次提交
  3. 04 2月, 2021 5 次提交
    • O
      Merge branch 'release-v2' into dev-v2-r2.13.0 · 74ade6fc
      Oliver Woodman 提交于
      74ade6fc
    • O
      Merge branch 'release-v2' into dev-v2-r2.13.0 · bad6506c
      Oliver Woodman 提交于
      bad6506c
    • O
      Suppress SwitchIntDef warning where it makes sense · 95d9060a
      olly 提交于
      In both cases it's deliberate that all excluded constants should use
      the default branch. Furthermore, there are quite a lot of excluded
      constants missing, so it's probably better to suppress the warning
      than to include them all.
      
      #minor-release
      
      PiperOrigin-RevId: 355426749
      95d9060a
    • O
      Fix gradle conflict resolution for Cronet tests · 6bcc6791
      olly 提交于
      This resolves the following constraint resolution issue when running our release script:
      
      > Cannot find a version of 'org.chromium.net:cronet-api' that satisfies the version constraints:
          Dependency path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'com.google.android.gms:play-services-cronet:17.0.0' --> 'org.chromium.net:cronet-api:72.3626.96'
          Constraint path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'org.chromium.net:cronet-api:{strictly 72.3626.96}' because of the following reason: debugRuntimeClasspath uses version 72.3626.96
          Dependency path 'com.google.android.exoplayer:extension-cronet:unspecified' --> 'org.chromium.net:cronet-embedded:76.3809.111' --> 'org.chromium.net:cronet-common:76.3809.111' --> 'org.chromium.net:cronet-api:76.3809.111'
      
      #minor-release
      
      PiperOrigin-RevId: 355414968
      6bcc6791
    • K
      Add Transformer "Getting started" page · b879869a
      kimvde 提交于
      #minor-release
      
      PiperOrigin-RevId: 355381610
      b879869a
  4. 03 2月, 2021 4 次提交
  5. 02 2月, 2021 15 次提交
    • O
      Fix ProGuard configuration for 2.13 · 71f585f1
      olly 提交于
      Note: We only support pro-guard on a best effort basis,
      and developers should use R8 whenever possible.
      
      #minor-release
      
      PiperOrigin-RevId: 355129695
      71f585f1
    • K
      Transformer: set audio decoder max input size · 451fb5b6
      kimvde 提交于
      #minor-release
      
      PiperOrigin-RevId: 354949992
      451fb5b6
    • K
      Merge MuxerWrapper stop() and release() methods · 15472a51
      kimvde 提交于
      #minor-release
      
      PiperOrigin-RevId: 354938190
      15472a51
    • I
      Log a warning when SingleSampleMediaPeriod turns a load error into EOS · 03b9fa30
      ibaker 提交于
      Without this no error is currently logged or propagated to EventLogger.
      The propagation doesn't happen because
      MergingMediaSource.ForwardingEventListener only propagates events
      originating from the "main" source in the merge:
      <unknown commit>
      
      #minor-release
      
      PiperOrigin-RevId: 354902467
      03b9fa30
    • A
      Simplify output buffer handling in transformer · 17ca191f
      andrewlewis 提交于
      We can dequeue as part of getting output buffers (or output buffer info) in
      `MediaCodecAdapterWrapper`, which simplifies the caller slightly.
      
      Also try to make minor clarifications in method naming in
      `TransformerAudioRenderer`.
      
      #minor-release
      
      PiperOrigin-RevId: 354890796
      17ca191f
    • A
      Simplify feeding codec input in transformer · 50344e27
      andrewlewis 提交于
      The caller knows whether it's queued end-of-stream, so we can remove the return
      value of the method.
      
      #minor-release
      
      PiperOrigin-RevId: 354888298
      50344e27
    • O
      Make Cronet extension depend only on common · 6f801819
      olly 提交于
      This also moves DefaultHttpDataSource to common, which seems
      sensible, else non-player components that need a DataSource
      don't have any useful concrete implementations. We should
      think about moving some of the other concrete implementations
      to common as well.
      
      PiperOrigin-RevId: 354738925
      6f801819
    • O
      Fix nullness issues in DefaultHttpDataSource · 07a3ba1b
      olly 提交于
      This is needed to move it to common, since we don't want to start
      adding any nullness exemptions for the common module.
      
      PiperOrigin-RevId: 354734715
      07a3ba1b
    • A
      Improve format propagation in transformer · 84b96fdf
      andrewlewis 提交于
      - Store output format in `MediaCodecAdapterWrapper` when we get a format from
        the codec, instead of creating it on demand.
      - Make format building code not audio-specific.
      - Remove `MediaCodecAdapterWrapper.getConfigFormat` and instead keep track of
        the input/output formats in the renderer. This will mean that the code still
        works if an audio processor changes the audio format in future.
      - Make exceptions thrown during audio rendering use the same (input) renderer
        format.
      - Misc other minor cleanup.
      
      #minor-release
      
      PiperOrigin-RevId: 354556619
      84b96fdf
    • A
      Switch transformer tests to use dump files · d5499ee3
      andrewlewis 提交于
      Add an interface to muxers to allow tests to pass a dumpable muxer.
      
      #minor-release
      
      PiperOrigin-RevId: 354543388
      d5499ee3
    • O
      Pass full locale code to IMA · e41d0428
      olly 提交于
      IMA can now handle the full locale code properly.
      
      PiperOrigin-RevId: 354528700
      e41d0428
    • O
      Merge pull request #8490 from szaboa:dev-2-8435-ssa-color · 07e88600
      Oliver Woodman 提交于
      PiperOrigin-RevId: 354293679
      07e88600
    • K
      CastPlayer only depends on common · e4939e85
      krocard 提交于
      Thanks to the move of the Player API to common,
      the cast player no longer need to depend on core.
      
      #player-to-common
      
      PiperOrigin-RevId: 354257309
      e4939e85
    • K
      Fix parsing of Vorbis codec private · 56aafd16
      kimvde 提交于
      - Fix comparison between a byte and 0xFF to avoid conversion of 0xFF to
        byte and to int again (due to numeric promotion).
      - Fix addition of int and byte with most significant bit set. The byte
        was incorrectly promoted to an int negative value.
      
      Issue:#8496
      #minor-release
      PiperOrigin-RevId: 353865751
      56aafd16
    • I
      Add @RequiresApi(29) to RandomizedMp3Decoder · 90412168
      ibaker 提交于
      This is needed for the MediaFormat#getInteger calls in onConfigured().
      
      The end-to-end playback tests this is used for have to run on API 29
      anyway (because of ShadowMediaCodec and ShadowMediaCodecList
      functionality).
      
      #minor-release
      
      PiperOrigin-RevId: 353858622
      90412168