Toxblh / youtube-speed-control

MIT License
24 stars 9 forks source link

silence on 4x speed #4

Closed 532910 closed 3 years ago

532910 commented 4 years ago

The sound disappears on 4x and above speed ratios. document.getElementsByTagName("video")[0].playbackRate = 4; works fine

Toxblh commented 4 years ago

So that is specific of the browser. Anyway 4+ I use it like fast-forward rewind. :)

532910 commented 4 years ago

I've installed this addon as 2x became so boring, and I watch and listen movies at speed ratios from 3x up to 4x (:

Toxblh commented 4 years ago

I'm about, I don't to restrict only x4 as high limit. Because in Chrome that works and faster than x4. Maybe in future Firefox will play sound faster than x4. But I'm use more than x4 as rewind. Usually I watch video 2.50-3.50

532910 commented 4 years ago

Looks like it's due to float point. Trying to set the speed manually above 4 make it silent, but 4.0 exactly works fine. So real value that it set is above 4.00 while 4.00 is shown.

Toxblh commented 4 years ago

I tried on mac/windows/linux and on all OS when I set x4 all works fine, and all above doesn't work agree. As I understand for you already 4.0 4.00 doesn't work Just to recheck what is setted and... was 3.75, I click add more and.. image How you get float speed?

Toxblh commented 4 years ago

Even float is works for me and even strings is work image

Where is the problem?

532910 commented 4 years ago

As soon as I set any value grater that 4 with document.getElementsByTagName("video")[0].playbackRate = X; 4.00001 or 4.01 or any else, my ff makes silent.

532910 commented 4 years ago

How you get float speed?

image

I believe if you'll add console.log before document.getElementsByTagName("video")[0].playbackRate you'll see it's not 4.00 exactly.

Toxblh commented 4 years ago

That is work as 0.1 + 0.1 + 0.1 it is like very small values, I know about float problem in languages. And the plugin is can possible the step to any, as 0.001, up to you, I really didn’t know why to do that. And I can’t understand what you want? If you would like to add some custom logic especially for 4.00, I disagree that. As a usual approach to using with step 0.25. It’s all work fine even with float numbers. I very unlike resolve problems which is not affect 99% users. But after the changes can affect more. That is just should keep the KISS approach. Anyway I added and tried and I see just correct step in 0.25 without any problems float values.

Theory and custom set playback with unusable cases. Sorry but I did’t see why I should to do that.

532910 commented 4 years ago

custom logic for 4.00

noway

I'd say it should use integer for internal storage and logic.

BTW, https://github.com/fx4waldi/playbackSpeed has not this issues, even with 0.1 incriment.

Toxblh commented 4 years ago

Math.round(prate*100)/100;

Ummm.. looks like a shitty work around. And what shouldn’t work with 0.001

Toxblh commented 4 years ago

Anyway I think how to do that. But right now that I see is bad. A lot of convertations. Because not only the extension can change the rate. All extenstions and site can do that. I can't to fix correct also and all external changes.