From 1ec458c8b2d18df0d270984bd23cde3070b511b7 Mon Sep 17 00:00:00 2001 From: KimJeongYeon Date: Thu, 30 Jul 2015 17:23:07 +0900 Subject: [PATCH] pulseaudio changed latency type to string [Version] 5.0 [Profile] Common [Issue Type] Features [Dependency module] NA [Dependency commit] NA [Comment] Signed-off-by: KimJeongYeon Change-Id: Ied51259b24c0be5eb82da65efaf2f727c4e10a28 --- packaging/pulseaudio.spec | 2 +- src/modules/tizen-audio.h | 19 ++++++------------- src/modules/tizen/hal-manager.c | 6 +++--- src/modules/tizen/hal-manager.h | 2 +- src/modules/tizen/stream-manager.c | 6 +----- 5 files changed, 12 insertions(+), 23 deletions(-) diff --git a/packaging/pulseaudio.spec b/packaging/pulseaudio.spec index 8756e67..e4f4c22 100644 --- a/packaging/pulseaudio.spec +++ b/packaging/pulseaudio.spec @@ -11,7 +11,7 @@ Name: pulseaudio Summary: Improved Linux sound server Version: 5.0 -Release: 27 +Release: 28 Group: Multimedia/Audio License: GPL-2.0+ and LGPL-2.1+ URL: http://pulseaudio.org diff --git a/src/modules/tizen-audio.h b/src/modules/tizen-audio.h index a8c39c6..054d13e 100644 --- a/src/modules/tizen-audio.h +++ b/src/modules/tizen-audio.h @@ -275,17 +275,10 @@ typedef enum audio_sample_format { } audio_sample_format_t; /* stream latency */ -typedef enum audio_latency { - AUDIO_IN_LATENCY_LOW, - AUDIO_IN_LATENCY_MID, - AUDIO_IN_LATENCY_HIGH, - AUDIO_IN_LATENCY_VOIP, - AUDIO_OUT_LATENCY_LOW, - AUDIO_OUT_LATENCY_MID, - AUDIO_OUT_LATENCY_HIGH, - AUDIO_OUT_LATENCY_VOIP, - AUDIO_LATENCY_MAX -} audio_latency_t; +static const char* AUDIO_LATENCY_LOW = "low"; +static const char* AUDIO_LATENCY_MID = "mid"; +static const char* AUDIO_LATENCY_HIGH = "high"; +static const char* AUDIO_LATENCY_VOIP = "voip"; /* Overall */ @@ -316,7 +309,7 @@ typedef struct audio_interface { audio_return_t (*pcm_close)(void *userdata, void *pcm_handle); audio_return_t (*pcm_avail)(void *pcm_handle); audio_return_t (*pcm_write)(void *pcm_handle, const void *buffer, uint32_t frames); - audio_return_t (*get_buffer_attr)(void *userdata, audio_latency_t latency, uint32_t samplerate, audio_sample_format_t format, uint32_t channels, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); + audio_return_t (*get_buffer_attr)(void *userdata, uint32_t direction, const char *latency, uint32_t samplerate, audio_sample_format_t format, uint32_t channels, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); audio_return_t (*set_session)(void *userdata, uint32_t session, uint32_t subsession, uint32_t cmd); audio_return_t (*set_route)(void *userdata, uint32_t session, uint32_t subsession, uint32_t device_in, uint32_t device_out, uint32_t route_flag); audio_return_t (*set_callback)(void *userdata, audio_cb_interface_t *cb_interface); @@ -341,7 +334,7 @@ audio_return_t audio_pcm_open(void *userdata, void **pcm_handle, void *sample_sp audio_return_t audio_pcm_close (void *userdata, void *pcm_handle); audio_return_t audio_pcm_avail(void *pcm_handle); audio_return_t audio_pcm_write(void *pcm_handle, const void *buffer, uint32_t frames); -audio_return_t audio_get_buffer_attr(void *userdata, audio_latency_t latency, uint32_t samplerate, audio_sample_format_t format, uint32_t channels, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); +audio_return_t audio_get_buffer_attr(void *userdata, uint32_t direction, const char *latency, uint32_t samplerate, audio_sample_format_t format, uint32_t channels, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); audio_return_t audio_set_session (void *userdata, uint32_t session, uint32_t subsession, uint32_t cmd); audio_return_t audio_set_route (void *userdata, uint32_t session, uint32_t subsession, uint32_t device_in, uint32_t device_out, uint32_t route_flag); audio_return_t audio_set_callback (void *userdata, audio_cb_interface_t *cb_interface); diff --git a/src/modules/tizen/hal-manager.c b/src/modules/tizen/hal-manager.c index 7e3486a..25ec6c4 100644 --- a/src/modules/tizen/hal-manager.c +++ b/src/modules/tizen/hal-manager.c @@ -116,7 +116,7 @@ void pa_hal_manager_unref(pa_hal_manager *h) { pa_xfree(h); } -int32_t pa_hal_manager_get_buffer_attribute(pa_hal_manager *h, io_direction_t direction, uint32_t latency, void *new_data, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize) { +int32_t pa_hal_manager_get_buffer_attribute(pa_hal_manager *h, io_direction_t direction, const char *latency, void *new_data, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize) { int32_t ret = 0; audio_return_t hal_ret = AUDIO_RET_OK; pa_sample_spec *sample_spec = NULL; @@ -125,9 +125,9 @@ int32_t pa_hal_manager_get_buffer_attribute(pa_hal_manager *h, io_direction_t di pa_assert(new_data); sample_spec = (direction==DIRECTION_OUT)?(&((pa_sink_input_new_data*)new_data)->sample_spec):(&((pa_source_output_new_data*)new_data)->sample_spec); - pa_log_info("latency:%d, rate:%u, format:%d, channels:%u", latency, sample_spec->rate, sample_spec->format, sample_spec->channels); + pa_log_info("latency:%s, rate:%u, format:%d, channels:%u", latency, sample_spec->rate, sample_spec->format, sample_spec->channels); - if (AUDIO_IS_ERROR(hal_ret = h->intf.get_buffer_attr(h->data, latency, sample_spec->rate, sample_spec->format, sample_spec->channels, maxlength, tlength, prebuf, minreq, fragsize))) { + if (AUDIO_IS_ERROR(hal_ret = h->intf.get_buffer_attr(h->data, direction, latency, sample_spec->rate, sample_spec->format, sample_spec->channels, maxlength, tlength, prebuf, minreq, fragsize))) { pa_log_error("get_buffer_attr returns error:0x%x", hal_ret); ret = -1; } else diff --git a/src/modules/tizen/hal-manager.h b/src/modules/tizen/hal-manager.h index 179437a..d92c267 100644 --- a/src/modules/tizen/hal-manager.h +++ b/src/modules/tizen/hal-manager.h @@ -49,7 +49,7 @@ typedef struct _hal_stream_connection_info { pa_hal_manager* pa_hal_manager_get(pa_core *core, void *user_data); pa_hal_manager* pa_hal_manager_ref(pa_hal_manager *h); void pa_hal_manager_unref(pa_hal_manager *h); -int32_t pa_hal_manager_get_buffer_attribute(pa_hal_manager *h, io_direction_t direction, uint32_t latency, void *new_data, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); +int32_t pa_hal_manager_get_buffer_attribute(pa_hal_manager *h, io_direction_t direction, const char *latency, void *new_data, uint32_t *maxlength, uint32_t *tlength, uint32_t *prebuf, uint32_t* minreq, uint32_t *fragsize); int32_t pa_hal_manager_reset_volume (pa_hal_manager *h); int32_t pa_hal_manager_get_volume_level_max (pa_hal_manager *h, const char *volume_type, io_direction_t direction, uint32_t *level); int32_t pa_hal_manager_get_volume_level (pa_hal_manager *h, const char *volume_type, io_direction_t direction, uint32_t *level); diff --git a/src/modules/tizen/stream-manager.c b/src/modules/tizen/stream-manager.c index 9a9c531..25591c9 100644 --- a/src/modules/tizen/stream-manager.c +++ b/src/modules/tizen/stream-manager.c @@ -1957,7 +1957,6 @@ FAILURE: } static void update_buffer_attribute(stream_type_t stream_type, void *new_data, pa_stream_manager *m) { - int32_t latency = 0; int32_t maxlength = -1; int32_t tlength = -1; int32_t prebuf = -1; @@ -1976,10 +1975,7 @@ static void update_buffer_attribute(stream_type_t stream_type, void *new_data, p if (audio_latency == NULL) return; - if(pa_atoi(audio_latency, &latency)) - return; - - if (!pa_hal_manager_get_buffer_attribute(m->hal, (io_direction_t)!stream_type, (uint32_t)latency, new_data, (uint32_t*)&maxlength, (uint32_t*)&tlength, (uint32_t*)&prebuf, (uint32_t*)&minreq, (uint32_t*)&fragsize)) { + if (!pa_hal_manager_get_buffer_attribute(m->hal, (io_direction_t)!stream_type, audio_latency, new_data, (uint32_t*)&maxlength, (uint32_t*)&tlength, (uint32_t*)&prebuf, (uint32_t*)&minreq, (uint32_t*)&fragsize)) { pa_log_info(" - maxlength:%d, tlength:%d, prebuf:%d, minreq:%d, fragsize:%d", maxlength, tlength, prebuf, minreq, fragsize); pa_proplist_setf(GET_STREAM_NEW_PROPLIST(new_data, stream_type), "maxlength", "%d", maxlength); pa_proplist_setf(GET_STREAM_NEW_PROPLIST(new_data, stream_type), "tlength", "%d", tlength); -- 2.7.4