1. 15 Apr, 2021 11 commits
  2. 14 Apr, 2021 3 commits
  3. 13 Apr, 2021 12 commits
    • Bump version to 2.13.3 · 0b3a3e6a
      PiperOrigin-RevId: 368235728
      bachinger committed
    • Upgrade JUnit to 4.13.2 · 10c3860b
      PiperOrigin-RevId: 368226576
      ibaker committed
    • Use a single message for setting video renderer outputs · 3032252f
      Previously, we had separate MSG_SET_SURFACE and
      MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER messages for
      setting different types of supported output. Use of these
      constants to switch between outputs during use of a player
      was confusing because not all video renderers support both
      message types.
      
      To switch from VideoDecoderOutputBufferRenderer to a Surface,
      it was sufficient just to send MSG_SET_SURFACE, since all
      video renderers support this and clear any other output that
      might be set. Conversely, to switch in the opposite direction,
      just sending a MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER was
      not sufficient, because not all video renderers handle this
      message to clear any previous output. Hence it was necessary to
      explicitly clear a previously set surface using a separate
      MSG_SET_SURFACE message. Passing two messages to switch the
      output may prevent renderers from implementing the output switch
      efficiently.
      
      This change passes all outputs using a single message type, and
      requires that all renderers treat unsupported outputs as though
      null were passed (i.e., they clear any existing output). There
      are some other miscellaneous improvements:
      
      1. Non-surface outputs are now passed to onRenderedFirstFrame.
         This fixes a bug in SimpleExoPlayer's onRenderedFirstFrame,
         where previously it could not correctly equality check the
         output corresponding to the event to its current output in
         the VideoDecoderOutputBufferRenderer case.
      2. Fix SimpleExoPlayer to report surface size changes for the
         VideoDecoderOutputBufferRenderer case. Even though the
         surface is rendered to indirectly in this case, we can still
         query (and listen to changes to) the surface's size.
      
      PiperOrigin-RevId: 368215850
      olly committed
    • Parse DASH forced_subtitle role · 84282d7c
      #minor-release
      
      Issue: #8781
      PiperOrigin-RevId: 368212289
      ibaker committed
    • Switch DashManifestParser to use Ascii.equalsIgnoreCase · 472b44f4
      String.equalsIgnoreCase depends on the device locale and is discouraged.
      
      #minor-release
      
      PiperOrigin-RevId: 368211677
      ibaker committed
    • Ensure minDurationToRetainAfterDiscard >= minDurationForQualityIncrease · 3bd59f8c
      If this condition isn't true, the player may enter a cycle of discarding
      and reloading the same format. As minDurationToRetainAfterDiscard is a
      parameter likely left at its default, and minDurationForQualityIncrease
      is likely adjusted more often, we correct the value in the problematic
      case and log a warning instead of asserting it outright to prevent
      unnecessary app breakages.
      
      Issue: #8807
      PiperOrigin-RevId: 368207417
      tonihei committed
    • Use MediaItem.DEFAULT_MEDIA_ID as default media ID · cc26a92e
      PiperOrigin-RevId: 368204261
      bachinger committed
    • Clarify documentation on C.SELECTION_FLAG_FORCED · 1d3f72c9
      Issue: #8755
      PiperOrigin-RevId: 368204094
      ibaker committed
    • Pause and resume GLSurfaceView instances in player views · ffc2a47d
      This is the right thing to do, as per the GLSurfaceView documentation.
      This adds (previously omitted) calls to VideoDecoderGLSurfaceView.
      
      PiperOrigin-RevId: 368202523
      olly committed
    • Core/UI decoupling: Remove setUseSensorRotation from views · 72c77875
      Other properties of SphericalGLSurfaceView (e.g., setDefaultStereoMode)
      are not plumbed through the PlayerView components, and it doesn't scale
      to plumb through all properties of all of the SurfaceView types.
      
      Applications can instead do:
      
      ```
      ((SphericalGLSurfaceView) playerView.getVideoSurfaceView())
          .setUseSensorRotation(useSensorRotation);
      ```
      
      PiperOrigin-RevId: 368196537
      olly committed
    • Remove obsolete cronet file references · 353912c8
      The cronet extension now uses gradle dependencies.
      
      PiperOrigin-RevId: 368195878
      andrewlewis committed
    • Remove unused resources from deprecated GVR module · a79fbb95
      PiperOrigin-RevId: 368014991
      olly committed
  4. 12 Apr, 2021 4 commits
  5. 09 Apr, 2021 10 commits