1. 17 Jan, 2023 16 commits
  2. 10 Jan, 2023 16 commits
  3. 04 Jan, 2023 8 commits
    • Optimise bundling for `Timeline.Window` and `Timeline.Period` · 2a77f1e2
      Improves the time taken to construct playerInfo from its bundle from ~400 ms to ~300 ms.
      
      Also made `Timeline.Window.toBundle(boolean excludeMediaItem)` public as it was required to assert a condition in tests.
      
      PiperOrigin-RevId: 499512353
      rohks committed
    • Rename the SamplePipelines · 827bd6b8
      The old names are not really correct anymore because:
      - The Audio/VideoTranscodingSamplePipelines do not decode anymore.
      - The pipelines now mux the encoded data.
      
      PiperOrigin-RevId: 499498446
      kimvde committed
    • Improve encoder resolution capability checking. · 7d727c88
      Whilst testing fallback functionality, I found that we were
      aggressively reducing the resolution if it was not supported. A quick
      test found that we could reduce by a much smaller increments.
      Performance wise it appears these checks are incredibly quick.
      
      The code for checking supported sizes was duplicated, with one case
      having a bug because of this duplication (2/3 case). This CL abstracts
      this into a loop.
      
      PiperOrigin-RevId: 499497646
      samrobinson committed
    • Merge BaseSamplePipeline and SamplePipeline · e6527ec1
      PiperOrigin-RevId: 499469006
      kimvde committed
    • Check bundles in `MediaItem` to verify keys are skipped · 9d431a52
      Added another check in each of these tests to make sure we don't add keys to bundle for fields with default values.
      
      Also fixed comments of similar changes in `AdPlaybackStateTest` and `MediaMetadataTest`.
      
      PiperOrigin-RevId: 499463581
      rohks committed
    • Move video decoding to AssetLoader · 8a8c81d5
      PiperOrigin-RevId: 499454273
      kimvde committed
    • Reduce flakiness of GL release test · bec46b66
      Based on experimentation it seems that buffers can occasionally (roughly 1% of test runs) be dropped when rendering off-screen from EGL on the emulator. Specifically, in this test, sometimes after rendering three buffers with distinct timestamps only the first and third buffers' timestamps are handled in the `ImageReader`'s image available callback causing the assertion checking all frames rendered to fail. This behavior seems to be independent of the nanosecond presentation time attached to the buffers (as expected for off-screen rendering).
      
      Introducing a pause of 1 second between rendering each frame reduces the flake rate to around 1/2000. This increases the run time of some of the tests, so this change also removes the 5 second `FRAME_PROCESSING_WAIT_MS` (it seems to be unnecessary when rendering off-screen) and instead uses a latch to wait until the frame processor has handled 'end of stream'.
      
      PiperOrigin-RevId: 499440591
      andrewlewis committed
    • Demo app fixes · 67294609
      - Do not fail silently if selectedEffects is null.
      - Do not add an empty overlay effect to the Transformer to avoid
        transcoding video all the time.
      
      PiperOrigin-RevId: 499168759
      kimvde committed