Skip to content

fix(tizen): restore avplay video rendering and fix playback issues#59

Open
anudeepreddy wants to merge 1 commit into
NuvioMedia:mainfrom
anudeepreddy:main
Open

fix(tizen): restore avplay video rendering and fix playback issues#59
anudeepreddy wants to merge 1 commit into
NuvioMedia:mainfrom
anudeepreddy:main

Conversation

@anudeepreddy
Copy link
Copy Markdown
Contributor

The tizen player was not configured properly, the initial assumption was tizen avplay was unable to play content but after a bit of testing it turns out it's used a bit differently which was causing the video playback to be missing and was just playing audio. This PR fixes that problem.

  • Add surface for video rendering
  • Fix avplay lifecycle order: open() → setListener() → setDisplayRect() → prepareAsync() → play()
  • Remove tick timer polling getCurrentTime() to fix audio stuttering (time updates already provided by oncurrentplaytime callback)
  • Dismiss loading overlay on canplay event so it clears after mid-stream buffering

@edoedac0
Copy link
Copy Markdown
Member

edoedac0 commented Apr 7, 2026

/oc Review this pull request: check for code quality issues, look for potential bugs and suggest improvements

@NuvioMedia NuvioMedia deleted a comment from opencode-agent Bot Apr 7, 2026
@opencode-agent
Copy link
Copy Markdown

opencode-agent Bot commented Apr 7, 2026

Findings:

  1. High js/core/player/playerController.js:939-965, js/ui/screens/player/playerScreen.js:4304-4356
    Removing startAvPlayTickTimer() also removes the recurring timeupdate events AVPlay used to emit. PlayerScreen.schedulePlaybackStallGuard() advances lastPlaybackProgressAt only on playing/timeupdate, so healthy Tizen playback can now be misdetected as stalled and force recovery after the AVPlay timeout window.

  2. Low js/core/player/playerController.js:2213-2215
    There’s a stray console.log("[PlayerController] Selected playback engine:", preferredEngine); in the main playback path. This will spam production logs on every play and should be removed.

Overall, the AVPlay rendering fix looks directionally correct, but I’d address the stall-guard regression before merging.

New%20session%20-%202026-04-07T18%3A02%3A12.125Z
opencode session  |  github run

@edoedac0
Copy link
Copy Markdown
Member

edoedac0 commented Apr 7, 2026

hey @anudeepreddy, could you please take a look at this and fix any potential issues mentioned so we can merge?

@edoedac0 edoedac0 self-assigned this Apr 7, 2026
@anudeepreddy
Copy link
Copy Markdown
Contributor Author

The ticktimer was not removed in the previous commit and is removed now in the latest commit and also made sure that timeupdate event is preserved.

The console.log still exists, I hope that is fine

@edoedac0
Copy link
Copy Markdown
Member

edoedac0 commented May 8, 2026

Hey, sorry, I didn't have the time to properly review this pull request before. Could you resolve merge issues and I will take a look at it again?

@anudeepreddy
Copy link
Copy Markdown
Contributor Author

updated, but there is a gap with this implementation. Since we are not using object instead of a video element the subtitles no longer work when using avplay. We need a unified way to support subtitles across both implementations

@edoedac0
Copy link
Copy Markdown
Member

updated, but there is a gap with this implementation. Since we are not using object instead of a video element the subtitles no longer work when using avplay. We need a unified way to support subtitles across both implementations

I think @WhiteGiso has been working on this, you can contact him since he has been working more on this specifically than me

@WhiteGiso
Copy link
Copy Markdown
Collaborator

Excuse me so much @anudeepreddy, can you explain me better after updating to the latest version of the main? Thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants