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);
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);