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

2023 Platinum Sponsor
Igalia
2023 Gold Sponsors
Google
Collabora
Arm
Microsoft
2023 Silver Sponsors
FEX-Emu
The Linux Foundation
AMD
Qualcomm
2023 Bronze Sponsors
Khronos Group
CodeWeavers
2023 Supporters
A Coruña Turismo
GPUL
Raspberry Pi