mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
pulsedevicemonitor: Index are per facility, not global
So need to keep the type of device in the device object
This commit is contained in:
parent
6c8e42944a
commit
39bbccdf79
2 changed files with 7 additions and 1 deletions
|
@ -282,7 +282,11 @@ context_subscribe_cb (pa_context * context, pa_subscription_event_type_t type,
|
||||||
for (item = monitor->devices; item; item = item->next) {
|
for (item = monitor->devices; item; item = item->next) {
|
||||||
dev = item->data;
|
dev = item->data;
|
||||||
|
|
||||||
if (dev->device_index == idx) {
|
if (((facility == PA_SUBSCRIPTION_EVENT_SOURCE &&
|
||||||
|
dev->type == GST_PULSE_DEVICE_TYPE_SOURCE) ||
|
||||||
|
(facility == PA_SUBSCRIPTION_EVENT_SINK &&
|
||||||
|
dev->type == GST_PULSE_DEVICE_TYPE_SINK)) &&
|
||||||
|
dev->device_index == idx) {
|
||||||
gst_object_ref (dev);
|
gst_object_ref (dev);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -629,6 +633,7 @@ gst_pulse_device_new (guint device_index, const gchar * device_name,
|
||||||
"display-name", device_name, "caps", caps, "klass", klass,
|
"display-name", device_name, "caps", caps, "klass", klass,
|
||||||
"internal-name", internal_name, NULL);
|
"internal-name", internal_name, NULL);
|
||||||
|
|
||||||
|
gstdev->type = type;
|
||||||
gstdev->device_index = device_index;
|
gstdev->device_index = device_index;
|
||||||
gstdev->element = element;
|
gstdev->element = element;
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,7 @@ typedef struct _GstPulseDeviceClass GstPulseDeviceClass;
|
||||||
struct _GstPulseDevice {
|
struct _GstPulseDevice {
|
||||||
GstDevice parent;
|
GstDevice parent;
|
||||||
|
|
||||||
|
GstPulseDeviceType type;
|
||||||
guint device_index;
|
guint device_index;
|
||||||
gchar *internal_name;
|
gchar *internal_name;
|
||||||
const gchar *element;
|
const gchar *element;
|
||||||
|
|
Loading…
Reference in a new issue