Opened 2 years ago

Last modified 2 years ago

#28107 needs_information defect

Tor Browser 8.0 turns off VP9 videos when detects low fps

Reported by: vp9 Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-fingerprinting
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


#22548 doesn't work in Tor Browser 8.0.

Child Tickets

Change History (3)

comment:1 in reply to:  description Changed 2 years ago by gk

Component: - Select a componentApplications/Tor Browser
Keywords: tbb-fingerprinting added
Owner: set to tbb-team
Status: newneeds_information

Replying to vp9:

#22548 doesn't work in Tor Browser 8.0.

Could you be a bit more verbose about what is not working? As far as I see our patch still does work as we intended: for those platforms where VP9 is available all users get VP9 *unrelated* to the frames per second they are capable of playing. How did that stop working?

comment:2 Changed 2 years ago by vp9

Hrm, it seems it disables vp9 when fps is low during update. Need more testing...
Also see ticket:22548#comment:27
Why does the patch have Preferences::GetUint("media.benchmark.vp9.threshold", 0); if you set the pref?

comment:3 Changed 2 years ago by vp9

Oh, crap, it's not easy to reproduce starting from a clean 8.0.2. And there is nothing obvious in the source code... But the same is for #22548... All we have is:

  return !mp4supported || !hwsupported || VP9Benchmark::IsVP9DecodeFast();

Then, how come it returns false for machines without mp4? Does it check for mp4enabled instead of mp4supported?
How come it returns false for machines without hardware decoding and even with hardware acceleration disabled?
It could be easier to enable vp9 unconditionally, because

VP9 software decoding is faster than H.264 software decoding.

but as you prefer to deal with all that 'hardware acceleration' mess, things become much more complicated, and you have to inspect hwsupported works correctly in every weird hardware configuration.
As for IsVP9DecodeFast(), it seems it always returns false on a first run, see, but there also could be more weird e10s-related bugs like

Note: See TracTickets for help on using tickets.