summaryrefslogtreecommitdiff
path: root/tizen-audio.c
diff options
context:
space:
mode:
Diffstat (limited to 'tizen-audio.c')
-rwxr-xr-x[-rw-r--r--]tizen-audio.c38
1 files changed, 21 insertions, 17 deletions
diff --git a/tizen-audio.c b/tizen-audio.c
index 6e1c3ce..db1638a 100644..100755
--- a/tizen-audio.c
+++ b/tizen-audio.c
@@ -3,8 +3,6 @@
*
* Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
*
- * Contact: Hyunseok Lee <hs7388.lee@samsung.com>
- *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -30,7 +28,7 @@ int audio_get_revision (void)
return AUDIO_REVISION;
}
-audio_return_t audio_init (void **userdata)
+audio_return_t audio_init (void **userdata, void *platform_data)
{
audio_mgr_t *am;
audio_return_t ret = AUDIO_RET_OK;
@@ -39,6 +37,8 @@ audio_return_t audio_init (void **userdata)
AUDIO_LOG_ERROR("am malloc failed");
return AUDIO_ERR_RESOURCE;
}
+ am->platform_data = platform_data;
+ memset(&am->cb_intf, 0, sizeof(audio_cb_interface_t));
if (AUDIO_IS_ERROR((ret = _audio_session_init(am)))) {
AUDIO_LOG_ERROR("session init failed");
goto error_exit;
@@ -51,6 +51,10 @@ audio_return_t audio_init (void **userdata)
AUDIO_LOG_ERROR("stream init failed");
goto error_exit;
}
+ if (AUDIO_IS_ERROR((ret = _audio_ucm_init(am)))) {
+ AUDIO_LOG_ERROR("ucm init failed");
+ goto error_exit;
+ }
if (AUDIO_IS_ERROR((ret = _audio_util_init(am)))) {
AUDIO_LOG_ERROR("mixer init failed");
goto error_exit;
@@ -74,6 +78,7 @@ audio_return_t audio_deinit (void **userdata)
_audio_session_deinit(am);
_audio_device_deinit(am);
_audio_stream_deinit(am);
+ _audio_ucm_deinit(am);
_audio_util_deinit(am);
free(am);
*userdata = NULL;
@@ -82,32 +87,19 @@ audio_return_t audio_deinit (void **userdata)
return AUDIO_RET_OK;
}
+/* this function is only called from audio tuning app for updating volume */
audio_return_t audio_reset (void **userdata)
{
audio_mgr_t *am = (audio_mgr_t *)*userdata;
audio_return_t ret = AUDIO_RET_OK;
if (am) {
- _audio_device_deinit(am);
_audio_stream_deinit(am);
- _audio_util_deinit(am);
- if (AUDIO_IS_ERROR((ret = _audio_session_init(am)))) {
- AUDIO_LOG_ERROR("session init failed");
- goto error_exit;
- }
- if (AUDIO_IS_ERROR((ret = _audio_device_init(am)))) {
- AUDIO_LOG_ERROR("device init failed");
- goto error_exit;
- }
if (AUDIO_IS_ERROR((ret = _audio_stream_init(am)))) {
AUDIO_LOG_ERROR("stream init failed");
goto error_exit;
}
- if (AUDIO_IS_ERROR((ret = _audio_util_init(am)))) {
- AUDIO_LOG_ERROR("mixer init failed");
- goto error_exit;
- }
}
return AUDIO_RET_OK;
@@ -119,3 +111,15 @@ error_exit:
return ret;
}
+
+audio_return_t audio_set_callback (void *userdata, audio_cb_interface_t *cb_interface)
+{
+ audio_mgr_t *am = (audio_mgr_t *)userdata;
+
+ if (am) {
+ memcpy(&am->cb_intf, cb_interface, sizeof(audio_cb_interface_t));
+ return AUDIO_RET_OK;
+ } else {
+ return AUDIO_ERR_PARAMETER;
+ }
+}