1. 02 Feb, 2023 9 commits
    • Session: advertise legacy FLAG_HANDLES_QUEUE_COMMANDS · ebe7ece1
      This change includes 3 things:
      - when the legacy media session is created, FLAG_HANDLES_QUEUE_COMMANDS
        is advertised if the player has the COMMAND_CHANGE_MEDIA_ITEMS
        available.
      - when the player changes its available commands, a new
        PlaybackStateCompat is sent to the remote media controller to
        advertise the updated PlyabackStateCompat actions.
      - when the player changes its available commands, the legacy media
        session flags are sent accoridingly: FLAG_HANDLES_QUEUE_COMMANDS is
        set only if the COMMAND_CHANGE_MEDIA_ITEMS is available.
      
      #minor-release
      
      PiperOrigin-RevId: 506605905
      christosts committed
    • Fix end of stream handling for previewing. · a817bd42
      Before this CL, the `renderedLastFrame` flag is not set if the last frame is released immediately (force render), or when it's dropped.
      
      PiperOrigin-RevId: 506358626
      claincly committed
    • Report flushing completed after all pending frames are decoded. · 0f4fcc11
      With the current ExtTexMgr,
      
      it can happen that
      
      - `x` frames are registered, but haven't arrived yet
      - flush
        - need to drop `x` frames when they arrive on SurfaceTexture
        - status is reset to 0 pending, 0 available, drop `x` when frames arrive
      - register one frame
        - status is set to 1 pending, 0 available, drop `x` when frames arrive
      - flush
        - now the number of frame to drop is reset to `pending - available = 1`
        - but it should be `x+1`
      
      This CL solves the issue by reporting (by running the afterFlushTask) flush completes only after all the pending frames before calling flush are accounted for.
      
      PiperOrigin-RevId: 506310671
      claincly committed
    • Clarify case where HDR encoder and muxer have no shared mime type. · 656a1d94
      The prior version (with the call to createEncodingException) could
      never occur as select...SupportedMimeType already checks for HDR
      editing support. This change ensures we throw before creating an
      encoder, gives a better error code and allows future simplifications
      around createForCodec (see child CL).
      
      PiperOrigin-RevId: 506308290
      samrobinson committed
    • Pass a Composition to Transformer callbacks · 1c912e5c
      PiperOrigin-RevId: 506304101
      kimvde committed
    • Support flushing in FrameProcessor · 4a1cf3d8
      Flushing resets all the texture processors within the `FrameProcessor`. This
      includes:
      
      - At the back, the FinalMatrixTextureProcessorWrapper, and its MatrixTextureProcessor
      - At the front, the ExternalTextureManager
      - All the texture processors in between
      - All the ChainingGlTextureProcessorListeners in between texture processors
      - All the internal states in the aforementioned components
      
      The flush process follows the order, from `GlEffectsFrameProcessor.flush()`
      
      1. Flush the `FrameProcessingTaskExecutor`, so that after it returns, all tasks queued before calling `flush()` completes
      2. Post to `FrameProcessingTaskExecutor`, to flush the `FinalMatrixTextureProcessorWrapper`
      3. Flushing the `FinalMatrixTextureProcessorWrapper` will propagate flushing through, via the `ChainingGlTextureProcessorListener`
      
      Startblock:
         has LGTM from christosts
         and then
         add reviewer andrewlewis
      PiperOrigin-RevId: 506296469
      claincly committed
    • Add sRGB eotf to overlay fragment shader. · eb6c1a52
      The eotf is needed so that overlay (image) colors are correctly interpreted and mixed the linear video colors.
      
      Also replaces the 100winners.png with "homemade" image file.
      
      Added GlEffectsFrameProcessor test to justify that the color looks correct at the end of frame processing.
      
      PiperOrigin-RevId: 506290309
      tofunmi committed
    • Publish ConcatenatingMediaSource2 · fcd3af64
      Can be used to combine multiple media items into a single timeline window.
      
      Issue: androidx/media#247
      Issue: google/ExoPlayer#4868
      PiperOrigin-RevId: 506283307
      bachinger committed
    • Merge pull request #10793 from fraunhoferfokus:dash-thumbnail-support · c6569a36
      PiperOrigin-RevId: 506261584
      christosts committed
  2. 01 Feb, 2023 31 commits