[ekiga/ds-gsettings3] Audio/Viceo: Let the engine handle unexisting devices.
- From: Damien Sandras <dsandras src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga/ds-gsettings3] Audio/Viceo: Let the engine handle unexisting devices.
- Date: Wed, 27 Nov 2013 18:59:52 +0000 (UTC)
commit 8bb93ede1077d06b8eaf54b2b4aed0b588c9906c
Author: Damien Sandras <dsandras beip be>
Date: Sat Nov 23 17:20:55 2013 +0100
Audio/Viceo: Let the engine handle unexisting devices.
lib/engine/audioinput/audioinput-core.cpp | 5 ++++-
lib/engine/audiooutput/audiooutput-core.cpp | 4 ++++
lib/engine/gui/gtk-frontend/preferences-window.cpp | 8 ++------
lib/engine/videoinput/videoinput-core.cpp | 7 ++++++-
4 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/lib/engine/audioinput/audioinput-core.cpp b/lib/engine/audioinput/audioinput-core.cpp
index f26e1a0..989654c 100644
--- a/lib/engine/audioinput/audioinput-core.cpp
+++ b/lib/engine/audioinput/audioinput-core.cpp
@@ -1,4 +1,3 @@
-//
/*
* Ekiga -- A VoIP and Video-Conferencing application
* Copyright (C) 2000-2009 Damien Sandras <dsandras seconix com>
@@ -194,8 +193,12 @@ AudioInputCore::set_device (const std::string& device_string)
device.type = AUDIO_INPUT_FALLBACK_DEVICE_TYPE;
device.source = AUDIO_INPUT_FALLBACK_DEVICE_SOURCE;
device.name = AUDIO_INPUT_FALLBACK_DEVICE_NAME;
+ found = false;
}
+ if (!found)
+ g_settings_set_string (audio_device_settings, "input-device", device.GetString ().c_str ());
+
internal_set_device (device);
desired_device = device;
diff --git a/lib/engine/audiooutput/audiooutput-core.cpp b/lib/engine/audiooutput/audiooutput-core.cpp
index 7c0bba2..a097345 100644
--- a/lib/engine/audiooutput/audiooutput-core.cpp
+++ b/lib/engine/audiooutput/audiooutput-core.cpp
@@ -180,9 +180,13 @@ void AudioOutputCore::setup_audio_device (AudioOutputPS device_idx)
device.type = AUDIO_OUTPUT_FALLBACK_DEVICE_TYPE;
device.source = AUDIO_OUTPUT_FALLBACK_DEVICE_SOURCE;
device.name = AUDIO_OUTPUT_FALLBACK_DEVICE_NAME;
+ found = false;
}
PTRACE(1, "AudioOutputCore\tSet " << (device_idx == primary ? "primary" : "secondary") << " audio device
to " << device.name);
+ if (!found)
+ g_settings_set_string ((device_idx == primary)?audio_device_settings:sound_events_settings,
+ "output-device", device.GetString ().c_str ());
set_device (device_idx, device);
if (audio_device_settings_signals[device_idx] == 0 && device_idx == primary)
diff --git a/lib/engine/gui/gtk-frontend/preferences-window.cpp
b/lib/engine/gui/gtk-frontend/preferences-window.cpp
index 88d6f05..db1c1cd 100644
--- a/lib/engine/gui/gtk-frontend/preferences-window.cpp
+++ b/lib/engine/gui/gtk-frontend/preferences-window.cpp
@@ -1258,9 +1258,6 @@ gm_pw_string_option_menu_new (GtkWidget *grid,
cpt++;
}
- std::cout << "FIXME: Should be handled by the engine" << std::endl << std::flush;
- if (!found)
- settings->set_string (key, options [0]);
g_settings_bind (settings->get_g_settings (), key.c_str (),
option_menu, "active-id", G_SETTINGS_BIND_DEFAULT);
@@ -1465,11 +1462,10 @@ gm_pw_spin_new (GtkWidget* grid,
adj = (GtkAdjustment *)
gtk_adjustment_new (settings->get_int (key),
min, max, step,
- 10.0, 0.0);
+ 1.0, 1.0);
+ spin_button = gtk_spin_button_new (adj, 1.0, 0);
g_settings_bind (settings->get_g_settings (), key.c_str (),
adj, "value", G_SETTINGS_BIND_DEFAULT);
-
- spin_button = gtk_spin_button_new (adj, 1.0, 0);
if (box)
gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE,
1 * 2);
diff --git a/lib/engine/videoinput/videoinput-core.cpp b/lib/engine/videoinput/videoinput-core.cpp
index e062f31..1f0bf5f 100644
--- a/lib/engine/videoinput/videoinput-core.cpp
+++ b/lib/engine/videoinput/videoinput-core.cpp
@@ -292,6 +292,7 @@ void VideoInputCore::get_devices (std::vector <VideoInputDevice> & devices)
void VideoInputCore::set_device(const VideoInputDevice & _device, int channel, VideoInputFormat format)
{
PWaitAndSignal m(core_mutex);
+ GSettings* settings = device_settings->get_g_settings ();
VideoInputDevice device;
/* Check if device exists */
@@ -320,6 +321,7 @@ void VideoInputCore::set_device(const VideoInputDevice & _device, int channel, V
device.type = VIDEO_INPUT_FALLBACK_DEVICE_TYPE;
device.source = VIDEO_INPUT_FALLBACK_DEVICE_SOURCE;
device.name = VIDEO_INPUT_FALLBACK_DEVICE_NAME;
+ found = false;
}
if (format >= VI_FORMAT_MAX) {
@@ -327,8 +329,11 @@ void VideoInputCore::set_device(const VideoInputDevice & _device, int channel, V
format = (VideoInputFormat) 3;
}
+ if (!found)
+ g_settings_set_string (settings, "input-device", device.GetString ().c_str ());
+
internal_set_device (device, channel, format);
- desired_device = device;
+ desired_device = _device;
}
void VideoInputCore::add_device (const std::string & source, const std::string & device_name, unsigned
capabilities, HalManager* /*manager*/)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]