[gstreamer-bugs] [Bug 630317] New: Getting pulsesink device names doesn't work like for alsasink

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Sep 21 23:50:36 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=630317
  GStreamer | gst-plugins-good | 0.10.24

           Summary: Getting pulsesink device names doesn't work like for
                    alsasink
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.24
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: julien.puydt at laposte.net
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


I'm trying to list human-readable names for devices with pulsesink, just like I
do for alsasink where it works ok, using :
void
GST::AudioOutputManager::detect_pulsesink_devices ()
{
  GstElement* elt = NULL;

  elt = gst_element_factory_make ("pulsesink", "pulsesinkpresencetest");

  if (elt != NULL) {

    GstPropertyProbe* probe = NULL;
    const GParamSpec* pspec = NULL;
    GValueArray* array = NULL;

    gst_element_set_state (elt, GST_STATE_PAUSED);
    probe = GST_PROPERTY_PROBE (elt);
    pspec = gst_property_probe_get_property (probe, "device");

    array = gst_property_probe_probe_and_get_values (probe, pspec);

    if (array != NULL) {

      for (guint index = 0; index < array->n_values; index++) {

    GValue* device = NULL;
    gchar* name = NULL;
    gchar* descr = NULL;

    device = g_value_array_get_nth (array, index);
    g_object_set_property (G_OBJECT (elt), "device", device);
    g_object_get (G_OBJECT (elt), "device-name", &name, NULL);
    descr = g_strdup_printf ("volume name=ekiga_volume ! pulsesink device=%s",
                 g_value_get_string (device));

    if (name != 0) {

      devices_by_name[std::pair<std::string,std::string>("PULSEAUDIO", name)] =
descr;

      g_free (name);
    }

    g_free (descr);
      }
      g_value_array_free (array);
    }

    gst_element_set_state (elt, GST_STATE_NULL);
    gst_object_unref (GST_OBJECT (elt));
  }
}

Unfortunately, for pulsesink 'name' always ends up NULL...

The fact that the behaviour is different for alsasink and pulsesink makes me
think it's a bug.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list