1. 28 Oct, 2022 3 commits
  2. 27 Oct, 2022 5 commits
    • Add test for muxer watchdog timer · 2a809dce
      PiperOrigin-RevId: 484298261
      (cherry picked from commit 17303341)
      kimvde committed
    • Set BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED automatically · dddb4841
      This root extra needs to be set by apps manually in media1 and we
      can do that automatically in Media3 based on the available session
      commands.
      
      #minor-release
      
      PiperOrigin-RevId: 484286833
      (cherry picked from commit 4c9ca8fa)
      bachinger committed
    • Use MediaBrowserCompat.rootHints as connections hints · 1c815873
      In Media3 there is the useful concept of connection hints that a
      client can set when building the session and that are sent to the
      service and passed to the `Callback.onConnect()` method when the
      browser connects.
      
      These connection hints are then included in the `ControllerInfo`
      object that later will be passed to every callback method and the
      implementor can then take decisions specific to these connection
      hints.
      
      These connection hints are not available in media1. However, when
      an app creates a `MediaBrowserCompat` object, the constructor takes
      a rootHint object that is sent to
      `MediaBrowserServiceCompat.onGetRoot()`.
      
      This change uses the browser rootHints as the connection hints when
      creating the `ControllerInfo` for legacy browsers and makes them
      available to the `MediaLibrarySession.Callback` domain methods in
      the same way as connection hints of a Media3 browser.
      
      PiperOrigin-RevId: 484220748
      (cherry picked from commit 21022c77)
      bachinger committed
    • Make adding ad live breaks more robust · 1607e3da
      This change makes adding ad events in live streams more robust by allowing ad
      groups to grow in number of ads if more ad events are received than initially
      announced by the SDK.
      
      With the IMA prefetch feature, an AdPod can grow in size in certain conditions
      like from initially 2 ads to 4 ads being part of the ad group. With this change,
      if an additional ad event arrives while the ad group is still being played,
      the ad group is expanded. If the event arrives late and the ad group is already
      completed, a new group is created for the remaining ads.
      
      This also covers the case where we join the live stream while an ad is being
      played and we missed at least one LOADED event from the SDK. Ads of the group
      before the first LOADED event are ignored in such a case.
      
      PiperOrigin-RevId: 484214760
      (cherry picked from commit 64e9e888)
      bachinger committed
    • Add muxer timer to detect when generating an output sample is too slow · 868375ea
      This allows to throw when the Transformer is stuck or is too slow.
      
      PiperOrigin-RevId: 484179037
      (cherry picked from commit 16cb5cbc)
      kimvde committed
  3. 26 Oct, 2022 3 commits
    • Add AudioProcessor.AudioFormat equals method. · 48b6d11d
      PiperOrigin-RevId: 483983486
      (cherry picked from commit e6079c38)
      samrobinson committed
    • Mute input video player in transformer demo · 36225d0f
      PiperOrigin-RevId: 483969411
      (cherry picked from commit f1ca4f41)
      tofunmi committed
    • Fix `Cea608Decoder` handling of service switch commands in field 2 · add9013d
      From ANSI-CTA-608-E R-2014 section 8.4:
      > When closed captioning is used on line 21, field 2, it shall conform
      > to all of the applicable specifications and recommended practices as
      > defined for field 1 services with the following differences:
      > 1. The non-printing character of the miscellaneous control-character
      >    pairs that fall in the range of 0x14, 0x20 to 0x14, 0x2F in field 1,
      >    shall be replaced with 0x15, 0x20 to 0x15, 0x2F when used in field
      >    2.
      > 2. The non-printing character of the miscellaneous control-character
      >    pairs that fall in the range of 0x1C, 0x20 to 0x1C, 0x2F in field
      >    1, shall be replaced with 0x1D, 0x20 to 0x1D, 0x2F when used in
      >    field 2.
      
      This basically means that `cc1=0x15` in field 2 should be interpreted as
      `cc1=0x14` in field 1, and same for `0x1D -> 0x1C`.
      
      The `isMiscCode`  method above already handles this by ignoring the LSB
      (the only difference between `0x14` and `0x15`, and `0x1C` and `0x1D`)
      by AND-ing with `0xF6` instead of `0xF7`. This change uses the same
      trick in `isServiceSwitchCommand`.
      
      Issue: google/ExoPlayer#10666
      #minor-release
      PiperOrigin-RevId: 483927506
      (cherry picked from commit 8c0f7827)
      ibaker committed
  4. 25 Oct, 2022 5 commits
  5. 24 Oct, 2022 2 commits
  6. 31 Oct, 2022 1 commit
  7. 24 Oct, 2022 1 commit
  8. 21 Oct, 2022 3 commits
  9. 24 Oct, 2022 2 commits
  10. 20 Oct, 2022 2 commits
  11. 19 Oct, 2022 7 commits
  12. 24 Oct, 2022 1 commit
  13. 19 Oct, 2022 1 commit
  14. 18 Oct, 2022 4 commits
    • Test: Update MatrixProcessorPixelTest to use input width and height. · d8b6c297
      Before, they used `width` and `height`, which was inconsistent with other pixel tests, and less descriptive.
      
      Refactoring change only. No functional change intended.
      
      PiperOrigin-RevId: 481970243
      (cherry picked from commit cce79a70)
      huangdarwin committed
    • Ensure onMediaItemTransition is sent for repeats of the same item · d56d94fa
      Currently, repeating the same item (via seekNext/Previous) implicitly
      results in a seek to the default position of the current item, which
      looks exactly the same as a direct seek. As a result, we don't send
      onMediaItemTransition as we would for every other seekNext/Previous
      call.
      
      This can be fixed by explicitly marking the repeat case in the internal
      BasePlayer/ExoPlayerImpl methods, so that the callback can be triggered.
      
      Issue: google/ExoPlayer#10667
      PiperOrigin-RevId: 481951788
      (cherry picked from commit f850206c)
      tonihei committed
    • MediaController: Add missing event flags (1/2) · ba84c2a0
      This is the first commit out of two. This change adds the missing event
      flags for the onEvents() callback when MediaController is connected to a
      media3 session (see MediaControllerImplBase). I updated the
      MediaControllerListenerTest and MediaControllerStateMaskingTest with
      assertions that on onEvents() is called alongside individual
      Player.Listener callbacks.
      
      There will be a follow-up change for the case where a MediaController is
      connected to a legacy MediaSession (MediaControllerImplLegacy). I've
      split this in two separate changes to make the size of the commit
      manageable for reviewing.
      
      #minor-release
      
      PiperOrigin-RevId: 481933437
      (cherry picked from commit 46d5a0e3)
      christosts committed
    • GL: Move loadAsset to GlProgram, where it's used. · e5897184
      (Also, make some public methods private)
      
      PiperOrigin-RevId: 481912071
      (cherry picked from commit 93ee1f48)
      huangdarwin committed