Closed Bug 1877948 Opened 8 months ago Closed 3 months ago

Video stutters on Samsung S devices

Categories

(Fenix :: Media, defect)

Firefox 122
defect

Tracking

(relnote-firefox 128+, firefox123 wontfix, firefox124 wontfix, firefox128 verified, firefox129 verified, firefox130 verified)

VERIFIED FIXED
130 Branch
Tracking Status
relnote-firefox --- 128+
firefox123 --- wontfix
firefox124 --- wontfix
firefox128 --- verified
firefox129 --- verified
firefox130 --- verified

People

(Reporter: thecrafter5455, Assigned: jhlin)

References

Details

(Whiteboard: [qa-triaged])

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0
Firefox for Android

Steps to reproduce:

(Fresh installation of Firefox v122, OR Firefox Nightly v124)
I went to YouTube and started a video.
I can also play any other video on any other side, as example Facebook, Twitch, etc.

Actual results:

The video stutters like it's 10FPS playback.

Expected results:

The video should play smoothly as it's intended to do.

Additional information:
If I seek forward/backward in the video, or change the resolution to make the video "re-load", it will resolve this bug until next execution of the steps above.

Screenrecording of the issue: https://youtube.com/shorts/03dMVHymcVM

The Bugbug bot thinks this bug should belong to the 'Fenix::General' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → General
Product: Firefox → Fenix

Using Samsung Galaxy S21

The severity field is not set for this bug.
:tthibaud, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(tthibaud)

Thank you for the response!

We were able to reproduce this issue on the 122.1.0 build, on Beta 123.0b9 and on Nightly 124.0a1, on the following devices:

  • Samsung Galaxy S23 Ultra (Android 14),
  • Samsung Galaxy S22 Ultra (Android 14), and a
  • Samsung Galaxy S24 (Android 14).

Not reproducible 100%: had to swipe between tabs, pause/resume the video.
I'll confirm the ticket.

Severity: -- → S3
Flags: needinfo?(tthibaud)
Summary: On android Video stutter playback → Video stutters on Samsung S devices
Whiteboard: [qa-triaged]

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Duplicate of this bug: 1879756
See Also: → 1880832
Duplicate of this bug: 1882203

I also got a samsung A70 and also have exact same issue since a few builds ago, now on 125.0b1 and still got it.

Similar issue on Moto G54, latest Firefox. Play any Tiktok video in browser (mobile page), for example any video on https://www.tiktok.com/@jasonderulo , them a soon as the video repeats, it's noticably lower fps, only like 10fps.

Same issue, running
Galaxy S21 (SM-G991B/DS),
Android 14,
One UI v.6.0.
Happens both on main app and Firefox Beta (125.0b7 build #2016012543) (fresh install)
Have had this issue for a couple of months now.

I noticed this support thread that seems like the same issue here: https://support.mozilla.org/en-US/questions/1438972

Feel free to contact me if you're looking into this bug and need more info on the device.

(In reply to chriswsligo from comment #10)

Same issue, running
Galaxy S21 (SM-G991B/DS),
Android 14,
One UI v.6.0.
Happens both on main app and Firefox Beta (125.0b7 build #2016012543) (fresh install)
Have had this issue for a couple of months now.

I noticed this support thread that seems like the same issue here: https://support.mozilla.org/en-US/questions/1438972

Feel free to contact me if you're looking into this bug and need more info on the device.

More info after playing about a bit more:

Fairly accurately 2/3rds of frames are dropped. Youtube's stats for nerds option shows ~0.67 frames dropped.
The resolution/framerate of the video does not matter.
This happens on any website I've tried, not just youtube's. This includes the default player (i.e. 4chan, loading a .webm file in browser, small websites)
This does not seem to occur if the player is muted. Muting and unmuting some videos toggles the stutter too. This works for youtube (desktop site) and the default player.
To get the videos playing normally with sound I skip around a little and it seems to right itself. If it (youtube) buffers it will begin stuttering again.
Sometimes the videos are okay on their own for some reason, but it's about 80% that start stuttery.

Same issue on Galaxy S22, sm-s901b/ds, Android 14, One UI 6.0. Any video player stutters until I restart the video (without reloading the page), or on some occasions, pause then play or forward/backward seek seems to do the trick.

This might be a duplicate of bug 1872354. The fix should be available in Nightly and Beta soon.

See Also: → 1872354

Yes, should land between 23 and 0 UTC this evening! Nice, finally! :D (according to wiki.mozilla.org)

Hm still not fixed in 127.0a1 (Build #2016018543), hg-ea25d02dac47+

Yeah, bug 1894401 needs to land first.

Argh, ok. For that bug it says "ready to land" on Phabricator, what does it mean when it will drop in Nightly? And shouldn't this mean someone can set that bug to "fixed"?

Ok my Comment 9 is related to Bug 1872354 which is reportedly fixed now.

Component: General → Media
Depends on: 1894401
Depends on: 1895471
No longer depends on: 1894401

This issue is still not fixed. Not in the stable or the latest nightly.

Pausing video causes horrible stuttering, only way to fix is to scrub to a different point in video.

Screen capture:
https://photos.app.goo.gl/wP3x6noJ8Z4BAdjb8

I can confirm that it is still an issue.

Here are reliable steps to reproduce which involve two videos - so maybe not the same issue, but the symptoms are very similar:

  1. Go to https://store.steampowered.com/app/1817230/HiFi_RUSH/
  2. Scroll down to the video gallery
  3. Tap the second gallery image. Video 2 starts playing.
  4. Tap the first gallery image. Video 1 starts playing.
  5. Tap on the second gallery image again. Now video 2 is playing very choppily.

Profile: https://share.firefox.dev/3V9M1tg

Seeking inside video 2 fixes the frame rate.

Matthew, can you take a look?

Flags: needinfo?(kinetik)
Flags: needinfo?(jolin)
Severity: S3 → S2

(In reply to krickit from comment #10)

Same issue, running
Galaxy S21 (SM-G991B/DS),
Android 14,
One UI v.6.0.
Happens both on main app and Firefox Beta (125.0b7 build #2016012543) (fresh install)
Have had this issue for a couple of months now.

I noticed this support thread that seems like the same issue here: https://support.mozilla.org/en-US/questions/1438972

Feel free to contact me if you're looking into this bug and need more info on the device.

Hello, fixed for me in Build #2016024431 and #2016024903. I didn't keep track of the updates so couldn't tell you which build had it fixed, sorry.

(In reply to krickit from comment #21)

(In reply to krickit from comment #10)

Same issue, running
Galaxy S21 (SM-G991B/DS),
Android 14,
One UI v.6.0.
Happens both on main app and Firefox Beta (125.0b7 build #2016012543) (fresh install)
Have had this issue for a couple of months now.

I noticed this support thread that seems like the same issue here: https://support.mozilla.org/en-US/questions/1438972

Feel free to contact me if you're looking into this bug and need more info on the device.

Hello, fixed for me in Build #2016024431 and #2016024903. I didn't keep track of the updates so couldn't tell you which build had it fixed, sorry.

Build 2016024903 is in the current nightly app version which I just tried but the but is definitely not fixed. Samsung S24 Ultra One UI 6.1

It seems the stutters after pausing the video are caused by the way that the audio clock position is derived.

The interpolation part is calculated as the time passed since the last data callback, but if the audio stream is paused, the time spent in the stopped state will be counted, and the reported position will be further than the actual value. I'll develop a fix for it.

Paul, the AAudioStream_requestStop() doc says the stream will stop after all buffered data are consumed. Is this behavior expected? Or should we use AAudioStream_requestPause() instead?

Assignee: nobody → jolin
Flags: needinfo?(padenot)
Flags: needinfo?(kinetik)
Flags: needinfo?(jolin)

Sorry for the delay answering here, I think _requestPause() is what we want, _requestStop() might be for cubeb_stream_destroy(), but maybe not even, since we have the draining logic.

Flags: needinfo?(padenot)

(In reply to John Lin [:jhlin][:jolin] from comment #23)

It seems the stutters after pausing the video are caused by the way that the audio clock position is derived.

The interpolation part is calculated as the time passed since the last data callback, but if the audio stream is paused, the time spent in the stopped state will be counted, and the reported position will be further than the actual value. I'll develop a fix for it.

Paul, the AAudioStream_requestStop() doc says the stream will stop after all buffered data are consumed. Is this behavior expected? Or should we use AAudioStream_requestPause() instead?

GitHub pull request for the cubeb backend issues: https://github.com/mozilla/cubeb/pull/789

Pushed by jolin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c2cd9ae77f4c Update libcubeb to revision 063a090. r=cubeb-reviewers,chunmin
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch

The patch landed in nightly and beta is affected.
:jhlin, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox129 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(jolin)
Duplicate of this bug: 1907400

I can confirm that all the videos which previously had bad frame rate issues now work properly. Thank you!

Comment on attachment 9411816 [details]
Bug 1877948 - Update libcubeb to revision 063a090.

Beta/Release Uplift Approval Request

  • User impact if declined: Video stutter after pausing/resuming.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The risk is low because the changes are small and straightforward.
  • String changes made/needed:
  • Is Android affected?: Yes
Flags: needinfo?(jolin)
Attachment #9411816 - Flags: approval-mozilla-beta?

Comment on attachment 9411816 [details]
Bug 1877948 - Update libcubeb to revision 063a090.

Approved for 129.0b4

Attachment #9411816 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Verified as fixed on the latest Beta build (129.0b4).
Verified using the steps from Comment 20
The video plays smoothly.

Devices used to verify:

  • Samsung Galaxy S23 Ultra (Android 14).
  • Samsung Galaxy S24 (Android 14).
  • Samsung Tab S8 Ultra 5G (Android 14).

Also checked on the latest Nightly build (130.0a1 from 2024-07-16) with a Samsung Galaxy S23 Ultra (Android 14).

Marking the ticket as verified on 129 and 130.

Status: RESOLVED → VERIFIED

Did you want to nominate this for Release approval for next week's scheduled 128.0.2 dot release also? Note that we'd either need a rebased patch or an uplift request on bug 1905636 also for this to graft cleanly.

Flags: needinfo?(jolin)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #36)

Did you want to nominate this for Release approval for next week's scheduled 128.0.2 dot release also? Note that we'd either need a rebased patch or an uplift request on bug 1905636 also for this to graft cleanly.

Thanks for the reminder. I'll request uplifting for both.

Flags: needinfo?(jolin)

Comment on attachment 9411816 [details]
Bug 1877948 - Update libcubeb to revision 063a090.

Beta/Release Uplift Approval Request

  • User impact if declined: Serious frame droppings after the user pauses and resumes a video.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: Bug 1905636
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The changes are small and straightforward
  • String changes made/needed:
  • Is Android affected?: Yes
Attachment #9411816 - Flags: approval-mozilla-release?

Comment on attachment 9411816 [details]
Bug 1877948 - Update libcubeb to revision 063a090.

Approved for 128.0.2.

Attachment #9411816 - Flags: approval-mozilla-release? → approval-mozilla-release+

Verified as fixed on the latest RC build (128.0.2).
Verified using the steps from Comment 20
The video plays smoothly.

Device used to verify: Samsung Galaxy S23 Ultra (Android 14).

Marking the ticket as verified in 128 as well.

Added to the Android 128.0.2 relnotes:

Fixed video playback stuttering on Samsung devices.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: