API translation layers: the benefits and challenges of using GStreamer in Wine
Loading
0 %
Key | Action |
---|---|
K or space | Play / Pause |
M | Mute / Unmute |
C | Select next subtitles |
A | Select next audio track |
V | Show slide in full page or toggle automatic source change |
left arrow | Seek 5s backward |
right arrow | Seek 5s forward |
shift + left arrow or J | Seek 10s backward |
shift + right arrow or L | Seek 10s forward |
control + left arrow | Seek 60s backward |
control + right arrow | Seek 60s forward |
shift + down arrow | Decrease volume |
shift + up arrow | Increase volume |
shift + comma | Decrease playback rate |
shift + dot or shift + semicolon | Increase playback rate |
end | Seek to end |
beginning | Seek to beginning |
You can right click on slides to open the menu
Share this media
HLS video stream
You can use an external player to play this stream (like VLC).
HLS video stream
Subscribe to notifications
When subscribed to notifications, an email will be sent to you for all added annotations.
Your user account has no email address.
Information on this media
Links:
Number of views:
46 (this month: 4)Creation date:
Sept. 26, 2023Speakers:
Zeb FiguraLicense:
CC BY-SA 3.0Description
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.]
Other media in the channel "GStreamer Conference 2023"
- 246 views, 246 this year, 11 this monthHow we are building a distributed multi-camera real-time sports tracking system using GStreamer and RustSeptember 26th, 2023
- 41 views, 41 this year, 3 this monthFlumes: Scan and index your multimedia filesSeptember 26th, 2023
- 168 views, 168 this year, 21 this monthGstWASM: GStreamer for the webSeptember 26th, 2023
- 60 views, 60 this year, 5 this monthVariations on a WebRTC relay architecture (featuring Janus and WebRTC{Src,Sink})September 26th, 2023
- 40 views, 40 this year, 2 this monthHYPE: HYbrid Parallel EncoderSeptember 26th, 2023
- 47 views, 47 this year, 3 this monthlibcamerasrc: Introduction and usage of libcamera's GStreamer elementSeptember 26th, 2023