Changing playbackRate on local videos near the end makes them pause
Categories
(Core :: Audio/Video: Playback, defect, P3)
Tracking
()
People
(Reporter: wofwca, Unassigned)
Details
Attachments
(4 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Steps to reproduce:
- Open a local video file in the browser. (this one, for example https://user-images.githubusercontent.com/39462442/131825020-5308b879-0509-41a3-95c9-bb4ad8938dc0.mp4)
- When about 4 seconds or closer until the end of the video, change
playbackRate
to a high value, like 4.
The same, with JS:
v = document.querySelector('video')
v.playbackRate = 1;
v.currentTime = v.duration - 2;
v.play().then(() => {
setTimeout(() => {
v.playbackRate = 4;
}, 1000);
});
Actual results:
Sometimes (90% of the time) it pauses as soon as you change the playback rate.
The controls show the "pause" button, indicating that it's not really "paused". v.paused
is true
though, but no 'pause' event gets fired.
Expected results:
Playback continues as usual, at the new playbackRate.
Context: it's quite bad for extensions like https://github.com/WofWca/jumpcutter, which switch playbackRate
very often.
Extra info: yes, it appears to not affect non-local videos. And it does affect media loaded with
objectURL = URL.createObjectURL(file);
videoEl.src = objectURL;
Updated•2 years ago
|
Comment 3•2 years ago
|
||
I could not reproduce the issue on Win10x64 and Firefox 110.0a1(20221230044034). Once I put the JS text on console the video just stopped playing and the playing button is being displayed. Is there something that I am missing?
Also does the issue reproduce with a new and empty profile? See https://support.mozilla.org/en-US/kb/troubleshoot-and-diagnose-firefox-problems#w_6-create-a-new-firefox-profile
Thank you.
I'm testing on 110.0a1 as well (Nightly). I could reproduce it with a new profile too.
Once I put the JS text on console the video just stopped playing and the playing button is being displayed
What do you mean? Did it play back through the end? Maybe try higher playback rate or change it closer to the end of the video.
Another thing I forgot to mention: it actually does get "unpaused" after like a minute (legit) since the playbackRate
change.
Comment 6•2 years ago
|
||
(In reply to wofwca from comment #4)
I'm testing on 110.0a1 as well (Nightly). I could reproduce it with a new profile too.
Once I put the JS text on console the video just stopped playing and the playing button is being displayed
What do you mean? Did it play back through the end? Maybe try higher playback rate or change it closer to the end of the video.
What I meant was that after I changed the playback rate to 4 or 8 the video ended instantly, and I did not see a pause button on the video but a play button. Thank you.
Comment 7•2 years ago
|
||
Marking issue as new for developers input, based on comment #4.
Comment 8•2 years ago
|
||
I tried it around 20 times in a row, and I couldn't reproduce this issue on 110.0a1 Nightly on Windows 10.
Could you help me do following steps in order to capture a profiled result?
- Go to
about:logging
- Click "Logging preset" drop down menu and select "Media playback"
- Then you should see those modules’ name displaying below “Current Log Modules”
- Go to https://profiler.firefox.com/
- Select “media” preset in the profiler's drop down menu
- Click “start recording” in the profiler's drop down menu
- Go to the site where you can reproduce the issue
- After issue happens, click “Capture” to end recording
- In the profiled result page, click “Upload Local Profile” which is on the top left0
- Ensure all clicked boxes are clicked, and click “Upload”
- Paste the permanent link to bugzilla
I also created a video which you can follow. Thanks!
The profile. https://share.firefox.dev/3ZhDzcE
I've also attached the screen capture.
Comment 10•2 years ago
|
||
From the profiled result, it seems that we stuck on the buffering state and never left that state. MDSM stopped requesting data, and it seems we also didn't set mCanPlayThrough to true before. But it's still unclear to me why this would happen, need more investigation.
Comment 11•2 years ago
|
||
I wonder if this file works for you? Or the playback would also get stuck after seeking? In addition, if you set the playback to 4
in the beginning, and let the file playing without seeking, would playback also get stuck? or it can play to the end?
Thank you.
Reporter | ||
Comment 12•2 years ago
|
||
Yeah, it still gets stuck most of the time. What's more interesting (to me) is that it does get stuck on the page you've composed, but up to this point I had not managed to reproduce it for non-local videos.
And yes, if I set playback rate earlier, it plays it through the end normally. And let me reiterate - it gets stuck not when I seek, but when I change the playbackRate
.
Here's the profile: https://share.firefox.dev/3CveuB5
And I've attached screen recording again.
Reporter | ||
Comment 13•2 years ago
|
||
I tried it in:
Firefox 108.0.2 (64-bit)
Tor Browser 12.0.1 (based on Mozilla Firefox 102.6.0esr) (64-bit)
Firefox Nightly 110.0a1 (2023-01-06) (64-bit)
Same stuff.
Comment 14•2 years ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Updated•2 years ago
|
Description
•