Closed Bug 1630754 Opened 3 months ago Closed 3 months ago

[Wayland] Explicitly configure wayland display for VA-API video playback

Categories

(Core :: Audio/Video: Playback, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

Right now we don't set VADisplay but use av_hwdevice_ctx_create() to create vaapi device without display.

Some drivers (intel ironlake in my case) fails to pick up Wayland display but creates va-api device on top of X11 one which leads to HW playback failure.

As a solution let's create VADisplay explicitly on top of our wayland display connection.

Some gfx drivers (especially on a child process) can open X11 VADisplay instead of a Wayland one which leads
to HW playback failure. As a solution let's create VADisplay explicitly on top of our wayland display connection.

  • Load vaGetDisplayWl from libva-wayland.so
  • Explicitly create VADisplay at CreateVAAPIDeviceContext()
  • Use VAAPIDisplayHolder class to release our VADisplay when AVHWDeviceContext is released (by hwctx->free).
Pushed by rgurzau@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c159181ff5d0
[Wayland][VA-API] Explicitly configure VADisplay display for VA-API video playback, r=jya
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
Regressions: 1632059
Regressions: 1632456
You need to log in before you can comment on or make changes to this bug.