Skip to content

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

Open
anudeepreddy wants to merge 2 commits intoNuvioMedia:mainfrom
anudeepreddy:main
Open

fix(tizen): restore avplay video rendering and fix playback issues#59
anudeepreddy wants to merge 2 commits intoNuvioMedia: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

- Add <object type="application/avplayer"> 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
Collaborator

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
Collaborator

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
- This was missed in the previous commit
@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

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.

2 participants