From d6214c8457df6d520254983de1a2726eb1c2e8be Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Thu, 1 Sep 2011 12:43:26 -0400
Subject: [PATCH] * #6827: get sink/source list by reference

---
 daemon/src/audio/pulseaudio/pulselayer.cpp | 24 +++++++++++-----------
 daemon/src/audio/pulseaudio/pulselayer.h   |  8 ++++----
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/daemon/src/audio/pulseaudio/pulselayer.cpp b/daemon/src/audio/pulseaudio/pulselayer.cpp
index 2cdb17cc09..26c6a148a7 100644
--- a/daemon/src/audio/pulseaudio/pulselayer.cpp
+++ b/daemon/src/audio/pulseaudio/pulselayer.cpp
@@ -96,7 +96,7 @@ void sink_input_info_callback (pa_context *c UNUSED, const pa_sink_info *i, int
 			i->flags & PA_SINK_LATENCY ? "LATENCY " : "",
 			i->flags & PA_SINK_HARDWARE ? "HARDWARE" : "");
 
-	((PulseLayer *)userdata)->getSinkList()->push_back (i->name);
+	((PulseLayer *)userdata)->getSinkList().push_back (i->name);
 }
 
 void source_input_info_callback (pa_context *c UNUSED, const pa_source_info *i, int eol, void *userdata)
@@ -130,7 +130,7 @@ void source_input_info_callback (pa_context *c UNUSED, const pa_source_info *i,
 			i->flags & PA_SOURCE_LATENCY ? "LATENCY " : "",
 			i->flags & PA_SOURCE_HARDWARE ? "HARDWARE" : "");
 
-	((PulseLayer *)userdata)->getSourceList()->push_back (i->name);
+	((PulseLayer *)userdata)->getSourceList().push_back (i->name);
 }
 
 void context_changed_callback (pa_context* c, pa_subscription_event_type_t t, uint32_t idx UNUSED, void* userdata)
@@ -139,13 +139,13 @@ void context_changed_callback (pa_context* c, pa_subscription_event_type_t t, ui
     switch (t) {
         case PA_SUBSCRIPTION_EVENT_SINK:
             _debug ("Audio: PA_SUBSCRIPTION_EVENT_SINK");
-            ( (PulseLayer *) userdata)->getSinkList()->clear();
-            pa_context_get_sink_info_list (c, sink_input_info_callback,  userdata);
+            ( (PulseLayer *) userdata)->getSinkList().clear();
+            pa_context_get_sink_info_list (c, sink_input_info_callback, userdata);
             break;
         case PA_SUBSCRIPTION_EVENT_SOURCE:
             _debug ("Audio: PA_SUBSCRIPTION_EVENT_SOURCE");
-            ( (PulseLayer *) userdata)->getSourceList()->clear();
-            pa_context_get_source_info_list (c, source_input_info_callback,  userdata);
+            ( (PulseLayer *) userdata)->getSourceList().clear();
+            pa_context_get_source_info_list (c, source_input_info_callback, userdata);
             break;
         case PA_SUBSCRIPTION_EVENT_SINK_INPUT:
             _debug ("Audio: PA_SUBSCRIPTION_EVENT_SINK_INPUT");
@@ -176,10 +176,10 @@ void context_changed_callback (pa_context* c, pa_subscription_event_type_t t, ui
             break;
         case PA_SUBSCRIPTION_EVENT_REMOVE:
             _debug ("Audio: PA_SUBSCRIPTION_EVENT_REMOVE");
-            ( (PulseLayer *) userdata)->getSinkList()->clear();
-            ( (PulseLayer *) userdata)->getSourceList()->clear();
-            pa_context_get_sink_info_list (c, sink_input_info_callback,  userdata);
-            pa_context_get_source_info_list (c, source_input_info_callback,  userdata);
+            ( (PulseLayer *) userdata)->getSinkList().clear();
+            ( (PulseLayer *) userdata)->getSourceList().clear();
+            pa_context_get_sink_info_list (c, sink_input_info_callback, userdata);
+            pa_context_get_source_info_list (c, source_input_info_callback, userdata);
             break;
         case PA_SUBSCRIPTION_EVENT_TYPE_MASK:
             _debug ("Audio: PA_SUBSCRIPTION_EVENT_TYPE_MASK");
@@ -287,13 +287,13 @@ void PulseLayer::context_state_callback (pa_context* c, void* user_data)
 
 void PulseLayer::updateSinkList (void)
 {
-    getSinkList()->clear();
+    sinkList_.clear();
     pa_context_get_sink_info_list (context_, sink_input_info_callback,  this);
 }
 
 void PulseLayer::updateSourceList (void)
 {
-    getSourceList()->clear();
+    sourceList_.clear();
     pa_context_get_source_info_list (context_, source_input_info_callback, this);
 }
 
diff --git a/daemon/src/audio/pulseaudio/pulselayer.h b/daemon/src/audio/pulseaudio/pulselayer.h
index 2da6ada062..80b51ddcc8 100644
--- a/daemon/src/audio/pulseaudio/pulselayer.h
+++ b/daemon/src/audio/pulseaudio/pulselayer.h
@@ -47,12 +47,12 @@ class PulseLayer : public AudioLayer
         PulseLayer ();
         ~PulseLayer (void);
 
-        std::list<std::string>* getSinkList (void) {
-            return &sinkList_;
+        std::list<std::string>& getSinkList (void) {
+            return sinkList_;
         }
 
-        std::list<std::string>* getSourceList (void) {
-            return &sourceList_;
+        std::list<std::string>& getSourceList (void) {
+            return sourceList_;
         }
 
         /**
-- 
GitLab