Fix not to destroy stream info before destroying virtual stream 90/209990/1 accepted/tizen/unified/20190715.111746 submit/tizen/20190715.062155
authorsooyeon.kim <sooyeon.kim@samsung.com>
Mon, 15 Jul 2019 04:19:25 +0000 (13:19 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Mon, 15 Jul 2019 04:19:25 +0000 (13:19 +0900)
Change-Id: Ib678957340b58585237b5a57f3c1b2673a614e29
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
client/vc_mgr.c

index a955f5d52b772eb991d7532edc167c66545f3139..657afd29d53299f94be6dc063a9c5ac6626dd7df 100644 (file)
@@ -4444,6 +4444,20 @@ int __vc_change_system_volume(vc_system_volume_event_e volume_event)
        SLOG(LOG_INFO, TAG_VCM, "[INFO] Change system volume, volume_type(%d)", volume_event);
 
        int ret = VC_ERROR_NONE;
+       /* destroy virtual - destroy stream info - create stream info - create virtual */
+       if (g_virtual_sound_stream_h) {
+               SLOG(LOG_INFO, TAG_VCM, "[INFO] Virtual stream is already created, destroy virtual stream)");
+               ret = sound_manager_stop_virtual_stream(g_virtual_sound_stream_h);
+               if (0 != ret) {
+                       SLOG(LOG_WARN, TAG_VCM, "[WARNING] Fail to stop virtual stream, ret(%d)", ret);
+               }
+               ret = sound_manager_destroy_virtual_stream(g_virtual_sound_stream_h);
+               if (0 != ret) {
+                       SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to destroy virtual stream, ret(%d)", ret);
+               }
+               g_virtual_sound_stream_h = NULL;
+       }
+
        if (g_stream_for_volume_h) {
                SLOG(LOG_INFO, TAG_VCM, "[INFO] Stream is already created, destroy stream)");
                ret = sound_manager_destroy_stream_information(g_stream_for_volume_h);
@@ -4459,19 +4473,6 @@ int __vc_change_system_volume(vc_system_volume_event_e volume_event)
                return VC_ERROR_OPERATION_FAILED;
        }
 
-       if (g_virtual_sound_stream_h) {
-               SLOG(LOG_INFO, TAG_VCM, "[INFO] Virtual stream is already created, destroy virtual stream)");
-               ret = sound_manager_stop_virtual_stream(g_virtual_sound_stream_h);
-               if (0 != ret) {
-                       SLOG(LOG_WARN, TAG_VCM, "[WARNING] Fail to stop virtual stream, ret(%d)", ret);
-               }
-               ret = sound_manager_destroy_virtual_stream(g_virtual_sound_stream_h);
-               if (0 != ret) {
-                       SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to destroy virtual stream, ret(%d)", ret);
-               }
-               g_virtual_sound_stream_h = NULL;
-       }
-
        ret = sound_manager_create_virtual_stream(g_stream_for_volume_h, &g_virtual_sound_stream_h);
        if (0 != ret) {
                SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to create virtual stream, ret(%d)", ret);