summaryrefslogtreecommitdiffstats
path: root/src/ServerInfoManager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ServerInfoManager.cc')
-rw-r--r--src/ServerInfoManager.cc34
1 files changed, 26 insertions, 8 deletions
diff --git a/src/ServerInfoManager.cc b/src/ServerInfoManager.cc
index 5d0a6f0..e05b401 100644
--- a/src/ServerInfoManager.cc
+++ b/src/ServerInfoManager.cc
@@ -6,7 +6,6 @@
SinkInfo::SinkInfo(const struct pa_sink_info &i) :
name(i.name),
- description(i.description),
index(i.index),
sample_spec(i.sample_spec),
monitor_source(i.monitor_source),
@@ -15,6 +14,9 @@ SinkInfo::SinkInfo(const struct pa_sink_info &i) :
latency(i.latency),
monitor_source_name(i.monitor_source_name),
window(NULL) {
+
+ if (i.description)
+ description = i.description;
}
SinkInfo::~SinkInfo() {
@@ -24,7 +26,6 @@ SinkInfo::~SinkInfo() {
void SinkInfo::update(const struct pa_sink_info &i) {
name = Glib::ustring(i.name);
- description = i.description;
index = i.index;
sample_spec = i.sample_spec;
monitor_source = i.monitor_source;
@@ -33,6 +34,8 @@ void SinkInfo::update(const struct pa_sink_info &i) {
latency = i.latency;
monitor_source_name = i.monitor_source_name;
+ description = i.description ? i.description : "";
+
if (window)
window->updateInfo(*this);
g_assert(mainWindow);
@@ -51,13 +54,15 @@ void SinkInfo::showWindow() {
SourceInfo::SourceInfo(const struct pa_source_info &i) :
name(i.name),
- description(i.description),
index(i.index),
sample_spec(i.sample_spec),
owner_module(i.owner_module),
monitor_of_sink(i.monitor_of_sink),
latency(i.latency),
window(NULL) {
+
+ if (i.description)
+ description = i.description;
}
SourceInfo::~SourceInfo() {
@@ -67,13 +72,14 @@ SourceInfo::~SourceInfo() {
void SourceInfo::update(const struct pa_source_info &i) {
name = i.name;
- description = i.description;
index = i.index;
sample_spec = i.sample_spec;
owner_module = i.owner_module;
monitor_of_sink = i.monitor_of_sink;
latency = i.latency;
+ description = i.description ? i.description : "";
+
if (window)
window->updateInfo(*this);
g_assert(mainWindow);
@@ -129,10 +135,12 @@ void ClientInfo::showWindow() {
ModuleInfo::ModuleInfo(const struct pa_module_info &i) :
index(i.index),
name(i.name),
- argument(i.argument),
autoloaded(i.auto_unload),
used(i.n_used),
window(NULL) {
+
+ if (i.argument)
+ argument = i.argument;
}
ModuleInfo::~ModuleInfo() {
@@ -142,11 +150,12 @@ ModuleInfo::~ModuleInfo() {
void ModuleInfo::update(const struct pa_module_info &i) {
name = i.name;
- argument = i.argument;
index = i.index;
autoloaded = i.auto_unload;
used = i.n_used;
+ argument = i.argument ? i.argument : "";
+
if (window)
window->updateInfo(*this);
g_assert(mainWindow);
@@ -259,8 +268,13 @@ SampleInfo::SampleInfo(const struct pa_sample_info &i) :
duration(i.duration),
bytes(i.bytes),
lazy(!!i.lazy),
- filename(i.filename),
+ filename_valid(false),
window(NULL) {
+
+ if (i.filename) {
+ filename = i.filename;
+ filename_valid = true;
+ }
}
SampleInfo::~SampleInfo() {
@@ -276,8 +290,12 @@ void SampleInfo::update(const struct pa_sample_info &i) {
duration = i.duration;
bytes = i.bytes;
lazy = !!i.lazy;
- filename = i.filename;
+ filename_valid = !!i.filename;
+
+ if (i.filename)
+ filename = i.filename;
+
if (window)
window->updateInfo(*this);
g_assert(mainWindow);