Skip to content
Snippets Groups Projects
  1. Jul 20, 2023
  2. Jul 19, 2023
  3. Jul 18, 2023
  4. Jul 14, 2023
  5. Apr 12, 2023
    • Bartłomiej Grzesik's avatar
      V4L2DecodeInterface: Switch to GRALLOC allocator · ede4c41a
      Bartłomiej Grzesik authored
      This CL switches to output allocator to C2PlatformAllocatorStore::GRALLOC
      that enforces use of C2PooledBufferPool without need of allocating a
      separate allocator ID. For this reason V4L2AllocatorId::V4L2_BUFFERPOOL
      is no longer used and is removed in this change.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: Ife2fbb6ac4ff2dc25e006792f8dad2d8ec6f4ac4
      (cherry picked from commit 210185e4)
      ede4c41a
    • Bartłomiej Grzesik's avatar
      plugin_store: Remove unused code · 7cdc36b6
      Bartłomiej Grzesik authored
      This CL removes unused source code files, since classes inside of them
      are no longer used in the component.
      
      Removed classes are:
       * C2VdaBqBlockPool
       * C2VdaPooledBlockPool
       * H2BGraphicBufferProducer
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      
      Change-Id: I0fc53c942ecb44bde246fca72234a176acb47122
      (cherry picked from commit 347ef462)
      7cdc36b6
    • Bartłomiej Grzesik's avatar
      VideoFramePool: Remove unused methods · 8e52544f
      Bartłomiej Grzesik authored
      This CL removes requestNewBufferSet and setNotifyBlockAvailableCb
      methods, that became unused after switch to C2BufferQueueBlockPool and
      C2PooledBlockPool.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: I6085cb7d5a7118d2b81d1f6d9d533b98fc978fa1
      (cherry picked from commit d73cbf57)
      8e52544f
    • Bartłomiej Grzesik's avatar
      V4L2DecodeInterface: Switch to C2PooledBlockPool · 9613d2ac
      Bartłomiej Grzesik authored
      With implementation of limitation of number of fetched buffers inside
      VideoFramePool, there is no need to use C2VdaPooledBlockPool, hence
      switching to C2PooledBlockPool.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      
      Change-Id: Iaac647c0ddbeba1e820bb2daf63e94894eb2b424
      (cherry picked from commit db98c8b0)
      9613d2ac
    • Bartłomiej Grzesik's avatar
      V4L2DecodeInterface: Switch to C2BufferQueueBlockPool · 3ace4ef8
      Bartłomiej Grzesik authored
      Due to move to Codec 2.0 VNDK 1.2 and implementation of asynchronous
      graphic buffer fetching, there is no need to use C2VdaBqBlockPool.
      Limitation of number of fetched buffers is done by C2SurfaceSyncMemory
      and VideoFramePool. For this reason switching to C2BufferQueueBlockPool.
      
      This moves unblocks a dozen of tests failures on Android T.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: Ia36a290146860f68c611da4746cd0375225adc99
      (cherry picked from commit c53b55c4)
      3ace4ef8
    • Bartłomiej Grzesik's avatar
      VideoFramePool: limit the number of provided buffers · d4829d03
      Bartłomiej Grzesik authored
      This CL moves limitation logic from C2VdaPooledBufferPool to
      VideoFramePool. This will allow removal of C2VdaPooledBufferPool.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: I78abfdbcda6f9b3de2a6d5bcfd705a7028490f9b
      (cherry picked from commit b9a66ded)
      d4829d03
    • Bartłomiej Grzesik's avatar
      VideoFramePool: implement asynchronous frame fetching · d81926ad
      Bartłomiej Grzesik authored
      This CL adds asynchronous frame fetching to VideoFramePool that relies
      on new API introduced in Codec 2.0. When a buffer is not available the
      new version of fetchGraphicBlock returns a C2_BLOCKING together fence
      that will be signaled once the call should be retried.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: Id470113e2037ec2c69ed1ccbf2fe15a4facf80ce
      (cherry picked from commit cb4034b1)
      d81926ad
    • Bartłomiej Grzesik's avatar
      service: Uprev Codec 2.0 VNDK to 1.2 · 35f4783d
      Bartłomiej Grzesik authored
      This CL uprevs Codec 2.0 VNDK version 1.2 to take advantage of
      asynchronous graphic buffer fetching from buffer queue in following
      patches.
      
      Bug: 268301611
      Bug: 268305422
      Bug: 270329448
      Bug: 238710012
      Bug: 238390060
      Bug: 270331759
      Bug: 238709912
      Test: CtsMediaCodecTestCases
      Test: CtsMediaDecoderTestCases
      Test: CtsMediaV2TestCases
      Test: GtsExoPlayerTestCases com.google.android.exoplayer.gts.CommonEncryptionDrmTest#cencSchemeTypeV*
      Change-Id: Icad6d78c3f36d365749af787f2b3bab3edc54d3e
      (cherry picked from commit d1454490)
      35f4783d
  6. Mar 13, 2023
    • Tao Wu's avatar
      V4L2EncodeComponent: Better error handling when syncing buffer · 0efa67ce
      Tao Wu authored
      Thanks Yiwei pointed out the buggy code which doesn't do error handling
      and also we should only sync CPU writable buffer.
      
      Bug: 268317650
      Test: atest com.google.android.media.gts.RtcVideoCodecTest#testDynamicBitrateChangeVp8
      Change-Id: I3c1019fb0d56180ef8460625843cf8e98301ddce
      0efa67ce
  7. Feb 28, 2023
    • Tao Wu's avatar
      V4L2EncodeComponent: force sync gpu buffer · add5343b
      Tao Wu authored
      Android encoder framework reuses the same gpu buffers as
      inputs and doesn't call lock/unlock explicitly between writes.
      If there is format conversion, this is fine since we will
      read back what we've written first and then put it in another
      buffer. Whenever there is no format conversion, this causes
      sync issue on ARCVM since host side buffers never get updated.
      Fix this by explicitly calling lock/unlock before sending buffer
      to encoder.
      
      Bug: 268317650
      Test: atest com.google.android.media.gts.RtcVideoCodecTest#testDynamicBitrateChangeVp8
      Change-Id: Ia1750aa37c2d879ddff0301814e489974f218f5c
      add5343b
  8. Dec 12, 2022
  9. Dec 10, 2022
Loading