After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 615615 - A plugin for audio output using OpenAL
A plugin for audio output using OpenAL
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-04-13 06:27 UTC by Chris
Modified: 2011-05-23 12:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gst-openal plugin source (335.94 KB, application/octet-stream)
2010-04-13 06:27 UTC, Chris
Details

Description Chris 2010-04-13 06:27:21 UTC
Created attachment 158574 [details]
gst-openal plugin source

Wasn't sure which component to use, so apologies if I picked the wrong one.

Here is a plugin I developed to allow output using OpenAL. It relies on the ALC_EXT_thread_local_context extension, which currently only exists in OpenAL Soft 1.12. The sink will properly look for this extension and not register itself if it's not found.

This sink could be very useful for applications which already use OpenAL for sound, such as games, since it has properties to allow outputing on a specific opened device or device context. This helps avoid issues such as getting GStreamer to use the same audio device as the main application, or allowing concurent access to the sound hardware where such may not be available (however rare such a problem is these days).

It also lets an application manipulate the OpenAL source object used for playback, allowing for a good level of integration into the main application (like placing the output of a media stream into 3D space, or applying audio effects).

I used gst-template for the plugin build system, and alsasink for the actual plugin. I ran 'make distclean' before building the tarball, and excluded the directory I built in and .gitignore.

A very small/minimalist application using the sink and describing its uses can be found here:
http://kcat.strangesoft.net/gst-openal.cpp
Comment 1 Christian Fredrik Kalager Schaller 2011-05-20 13:19:15 UTC
*** Bug 550230 has been marked as a duplicate of this bug. ***
Comment 2 Christian Fredrik Kalager Schaller 2011-05-20 13:20:38 UTC
Actually 550230 is not a duplicate, but a sink plugin. They should probably be merged into the tree together.
Comment 3 Sebastian Dröge (slomo) 2011-05-23 12:31:42 UTC
commit 66a4ed47a3e3160d4ff1b93fa47bb27191977137
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Mon May 23 13:41:36 2011 +0200

    openal: Add new OpenAL sink element
    
    Based on a patch by Chris Robinson <chris.kcat@gmail.com>
    
    Fixes bug #615615.