24-26 September 2023
Palexco
Europe/Madrid timezone

API translation layers: the benefits and challenges of using GStreamer in Wine

26 Sep 2023, 14:30
40m
Room 2 (Palexco)

Room 2

Palexco

Speaker

Zeb Figura (CodeWeavers, Inc.)

Description

The Windows operating system, in its three or so decades of existence, has introduced at least four different APIs dedicated to multimedia encoding or decoding. Wine, as a Free Software replacement of Windows, implements most of those APIs using GStreamer as a backend.

In this presentation I intend to talk about our experiences working with GStreamer as a backend, and its advantages and disadvantages that we have found with it.

I also intend to talk about some larger unsolved problems we have that are specific to the challenge of implementing another API using GStreamer. These include:

  • supporting zero-copy into application-provided buffers,

  • matching application expectations of synchronous decoding,

  • consistently retrieving stream metadata, especially optional stream metadata.

In the talk I intend to propose some potential solutions to these problems, but more generally to raise them as questions for the GStreamer development community to think about.

[As as side note, I've proposed this as a 45-minute talk, because I anticipate it can easily run that long. However, if there is not time for a 45-minute talk, I would be happy to give a talk in a shorter time slot, condensing the presentation if necessary.]

Speaker bio I am a Wine developer employed by CodeWeavers. I have worked on many areas of Wine, including prominently its multimedia support, and I maintain much of the multimedia code in Wine, including the GStreamer backend translation code.

Primary author

Zeb Figura (CodeWeavers, Inc.)

Presentation Materials

2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer