mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
4e2cf393c0
pulseaudiosink breaks visualisations in its current form, so let's prevent it from being autoplugged for the time being. The best we can hope to do in the 0.10 series is query the list of available sinks and their formats, and expose these as the bin's sinkpad caps. While this is not a comprehensive solution, it will make sure that we're only trying to support compressed formats if we're certain that one exists. The long-term fix for this will be in the form of proper upstream renegotiation support in the 0.11/1.0 series. https://bugzilla.gnome.org/show_bug.cgi?id=666361
70 lines
2 KiB
C
70 lines
2 KiB
C
/*
|
|
* GStreamer pulseaudio plugin
|
|
*
|
|
* Copyright (c) 2004-2008 Lennart Poettering
|
|
*
|
|
* gst-pulse is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as
|
|
* published by the Free Software Foundation; either version 2.1 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* gst-pulse is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with gst-pulse; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
* USA.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include <gst/gst-i18n-plugin.h>
|
|
|
|
#include "pulsesink.h"
|
|
#include "pulsesrc.h"
|
|
#include "pulsemixer.h"
|
|
|
|
GST_DEBUG_CATEGORY (pulse_debug);
|
|
|
|
static gboolean
|
|
plugin_init (GstPlugin * plugin)
|
|
{
|
|
#ifdef ENABLE_NLS
|
|
GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
|
|
LOCALEDIR);
|
|
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
|
#endif
|
|
|
|
if (!gst_element_register (plugin, "pulsesink", GST_RANK_PRIMARY + 10,
|
|
GST_TYPE_PULSESINK))
|
|
return FALSE;
|
|
|
|
if (!gst_element_register (plugin, "pulsesrc", GST_RANK_PRIMARY + 10,
|
|
GST_TYPE_PULSESRC))
|
|
return FALSE;
|
|
|
|
#ifdef HAVE_PULSE_1_0
|
|
if (!gst_element_register (plugin, "pulseaudiosink", GST_RANK_MARGINAL - 1,
|
|
GST_TYPE_PULSE_AUDIO_SINK))
|
|
return FALSE;
|
|
#endif
|
|
|
|
if (!gst_element_register (plugin, "pulsemixer", GST_RANK_NONE,
|
|
GST_TYPE_PULSEMIXER))
|
|
return FALSE;
|
|
|
|
GST_DEBUG_CATEGORY_INIT (pulse_debug, "pulse", 0, "PulseAudio elements");
|
|
return TRUE;
|
|
}
|
|
|
|
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
|
GST_VERSION_MINOR,
|
|
"pulseaudio",
|
|
"PulseAudio plugin library",
|
|
plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
|