handle ringtone route to headset and speaker when headset is inserted submit/tizen_2.1/20130417.023138
authorHuaqiang Geng <huaqiangx.geng@intel.com>
Tue, 16 Apr 2013 09:38:01 +0000 (17:38 +0800)
committerHuaqiang Geng <huaqiangx.geng@intel.com>
Wed, 17 Apr 2013 02:26:57 +0000 (10:26 +0800)
src/audio_hal_plugin_mfld.c
src/sound_card_control_mfld.c

index e5a753e..0cc9348 100644 (file)
@@ -76,6 +76,7 @@ static int hal_plug_set_sound_path(int gain, int output, int input, int option)
         /* Check dual_out option */
         if (option & AVSYS_AUDIO_PATH_OPTION_DUAL_OUT) {
             debug_log("MFLD: Set audio path to dual out");
+            MMSoundMgrPulseSetDefaultSink (DEVICE_API_ALSA, DEVICE_BUS_WIRED);
             ret = set_dual_out();
             return ret;
           /* Check output device */
index 5428e56..7bd8abb 100644 (file)
@@ -227,26 +227,14 @@ int set_dual_out(void )
     int headset_route;
 
     debug_fenter();
-    /* check if switching to headset: numid=34 "Headset Playback Route" */
-    err = sound_card_ctrl_get(34, &headset_route);
+
+    /* set dual out: numid=35 "Speaker Mux Playback Route" 1,1 */
+    err = sound_card_ctrl_set(35, 1);
     if (err < 0) {
-        debug_error("MFLD: failed to get alsa element for headset route");
+        debug_error("MFLD: failed to set alsa element for dual out");
         return 1;
     }
-
-    if (headset_route == 0) {
-        debug_log("MFLD: headset is inserted, set dual out");
-        /* set dual out: numid=35 "Speaker Mux Playback Route" 1,1 */
-        err = sound_card_ctrl_set(35, 1);
-        if (err < 0) {
-            debug_error("MFLD: failed to set alsa element for dual out");
-            return 1;
-        }
-        debug_log("MFLD: set dual out successfully");
-    }
-    else {
-        debug_log("MFLD: headset is not inserted, skip the set");
-    }
+    debug_log("MFLD: set dual out successfully");
 
     debug_fleave();
     return 0;