androidx / androidx/media

Blank/Slow Frame Render for videos (Shortform Demo)

Open
#1,853 4 comments 0 reactions 1 assignee View on GitHub

@tianyif is already working on this.

Since Nov 4, 2024.

question
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

I've been trying to implement functionality similar to the Shortform app, but encountered an issue during video transitions. While my implementation is based on a single player with a "Next" button, I noticed two main issues:

  1. The first video takes extra time to render its initial frame. Additionally, when moving to the next video, intermittent delays appear on some videos (typically the 0th, 3rd, or 4th in the sequence). These delays occur regardless of how I order URLs from MediaItemDatabase. If I go through videos from 0 -> 5 and then back from 5 -> 0, the initial frame delay reappears, especially for the 0th video.
  2. Although I use a single player in my implementation, switching between videos is occasionally slow, causing a visible lag for the initial frame of some videos. In the Shortform demo app, the transition is smoother, though I sometimes notice similar initial frame lags on the first and a few middle videos.

I'm attaching recordings of both the Shortform app issue and my implementation for reference.

Could you help me identify possible causes for the render delays in my implementation, and why it performs slower compared to the demo app? Additionally, I’d appreciate insights into the primary issues faced in the Shortform demo app as well.

Issue in Shortform App Issue Faced in my internal demo app(Similar to shortform )

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.