From: Janos Kovacs Date: Sun, 26 Aug 2012 21:10:00 +0000 (+0300) Subject: 64 bit support: fixing castings between pointers and ints X-Git-Tag: submit/2.0alpha/20121127.195601~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1ba9df4d300a7e7e1c981803ffdc034ba1278f38;p=profile%2Fivi%2Favsystem.git 64 bit support: fixing castings between pointers and ints --- diff --git a/avsys-audio-logical-volume.c b/avsys-audio-logical-volume.c index fdba610..6908658 100644 --- a/avsys-audio-logical-volume.c +++ b/avsys-audio-logical-volume.c @@ -180,7 +180,8 @@ int avsys_audio_logical_volume_set_table(int vol_type, int dev_type, avsys_audio setting->vol_type = vol_type; setting->dev_type = dev_type; setting->max_len = table[vol_type].devices[dev_type].max_len; - setting->table = (avsys_audio_volume_t *)(((int)table[vol_type].devices[dev_type].gain) - (int)table); + // setting->table = (avsys_audio_volume_t *)(((int)table[vol_type].devices[dev_type].gain) - (int)table); + setting->table = (avsys_audio_volume_t *)(((void *)table[vol_type].devices[dev_type].gain) - (void *)table); avsys_info(AVAUDIO, "vol %d, dev%d table setted.\n", vol_type, dev_type); return AVSYS_STATE_SUCCESS; @@ -214,7 +215,8 @@ int avsys_audio_logical_volume_update_table(int dev_type, avsys_audio_volume_set } setting->dev_type = dev_type; setting->max_len = table[setting->vol_type].devices[dev_type].max_len; - setting->table = (avsys_audio_volume_t *)(((int)table[setting->vol_type].devices[dev_type].gain) - (int)table); + // setting->table = (avsys_audio_volume_t *)(((int)table[setting->vol_type].devices[dev_type].gain) - (int)table); + setting->table = (avsys_audio_volume_t *)(((void *)table[setting->vol_type].devices[dev_type].gain) - (void *)table); return AVSYS_STATE_SUCCESS; } @@ -251,8 +253,10 @@ int avsys_audio_logical_volume_convert(avsys_audio_volume_t *level, avsys_audio_ return AVSYS_STATE_ERR_INVALID_VALUE; } - converted->level[AVSYS_AUDIO_CHANNEL_LEFT] = ((avsys_audio_volume_t *)((int)table + (int)setting->table))[level->level[AVSYS_AUDIO_CHANNEL_LEFT]].level[AVSYS_AUDIO_CHANNEL_LEFT]; - converted->level[AVSYS_AUDIO_CHANNEL_RIGHT] = ((avsys_audio_volume_t *)((int)table + (int)setting->table))[level->level[AVSYS_AUDIO_CHANNEL_RIGHT]].level[AVSYS_AUDIO_CHANNEL_RIGHT]; + // converted->level[AVSYS_AUDIO_CHANNEL_LEFT] = ((avsys_audio_volume_t *)((int)table + (int)setting->table))[level->level[AVSYS_AUDIO_CHANNEL_LEFT]].level[AVSYS_AUDIO_CHANNEL_LEFT]; + converted->level[AVSYS_AUDIO_CHANNEL_LEFT] = ((avsys_audio_volume_t *)((void *)table + (int)((void *)setting->table - NULL)))[level->level[AVSYS_AUDIO_CHANNEL_LEFT]].level[AVSYS_AUDIO_CHANNEL_LEFT]; + // converted->level[AVSYS_AUDIO_CHANNEL_RIGHT] = ((avsys_audio_volume_t *)((int)table + (int)setting->table))[level->level[AVSYS_AUDIO_CHANNEL_RIGHT]].level[AVSYS_AUDIO_CHANNEL_RIGHT]; + converted->level[AVSYS_AUDIO_CHANNEL_RIGHT] = ((avsys_audio_volume_t *)((void *)table + (int)((void *)setting->table - NULL)))[level->level[AVSYS_AUDIO_CHANNEL_RIGHT]].level[AVSYS_AUDIO_CHANNEL_RIGHT]; avsys_warning(AVAUDIO, "Volume converted vol_type %d dev_type %d\n", setting->vol_type, setting->dev_type); avsys_warning(AVAUDIO, "\tL: %d to %d\n", level->level[AVSYS_AUDIO_CHANNEL_LEFT], converted->level[AVSYS_AUDIO_CHANNEL_LEFT]); diff --git a/avsys-audio-path.c b/avsys-audio-path.c index 6550254..bcb3c66 100644 --- a/avsys-audio-path.c +++ b/avsys-audio-path.c @@ -819,6 +819,7 @@ enum { avsys_audio_alsa_aif_handle_t *g_hAIF[AIF_DEVICE_MAX] = { NULL, NULL, NULL, NULL, NULL }; char *strAIF[AIF_DEVICE_MAX] = { "AIF2 Capture", "AIF2 Playback", "AIF3 Capture", "AIF3 Playback", "AIF4 Playback" }; + #define SET_AIF(index) \ do { \ if(g_hAIF[index]) { \ @@ -889,6 +890,7 @@ static void __avsys_close_aif () } } + static int __avsys_audio_release_path (gain_info_t local_gain, avsys_audio_path_ex_info_t *control) { int err = AVSYS_STATE_SUCCESS; @@ -1230,7 +1232,7 @@ int avsys_audio_path_ex_set_path(int gain, int out, int in, int option) /* Open AIFs */ if (control->control_aif_before_path_set) { - err = __avsys_open_aif(AIF_control); + err = __avsys_open_aif(AIF_control); } /* Do ALSA scenario control based on gain */ diff --git a/avsys-audio.c b/avsys-audio.c index 31cc0a9..6b75282 100644 --- a/avsys-audio.c +++ b/avsys-audio.c @@ -54,19 +54,37 @@ static int __avsys_audio_set_info(avsys_audio_handle_t *p, avsys_audio_param_t * void __init_module(void); void __fini_module(void); +#if 0 #define AVSYS_GET_HANDLE_PTR(MODE) do { \ err = avsys_audio_handle_get_ptr((int)handle, &p, MODE); \ if (AVSYS_FAIL(err)) { \ return err; \ } \ } while (0) +#else +#define AVSYS_GET_HANDLE_PTR(MODE) do { \ + err = avsys_audio_handle_get_ptr((void *)handle - NULL, &p, MODE); \ + if (AVSYS_FAIL(err)) { \ + return err; \ + } \ +} while (0) +#endif +#if 0 #define AVSYS_RELEASE_HANDLE_PTR(MODE) do { \ if (AVSYS_FAIL(avsys_audio_handle_release_ptr((int)handle, MODE))) { \ avsys_error(AVAUDIO, "audio handle release failed\n"); \ return AVSYS_STATE_ERR_INTERNAL; \ } \ } while (0) +#else +#define AVSYS_RELEASE_HANDLE_PTR(MODE) do { \ + if (AVSYS_FAIL(avsys_audio_handle_release_ptr((void *)handle - NULL, MODE))) { \ + avsys_error(AVAUDIO, "audio handle release failed\n"); \ + return AVSYS_STATE_ERR_INTERNAL; \ + } \ +} while (0) +#endif #define AVSYS_STREAM_LOCK() do { \ pthread_mutex_lock(&gmutex);\ @@ -190,7 +208,8 @@ int avsys_audio_open(avsys_audio_param_t *param, avsys_handle_t *phandle, int *s break; } - *phandle = (avsys_handle_t) handle; + // *phandle = (avsys_handle_t) handle; + *phandle = (avsys_handle_t)((void *)0 + handle); /* set recommended buffer size */ if (size != NULL) *size = p->period; @@ -231,7 +250,7 @@ int avsys_audio_close(avsys_handle_t handle) bool bt_path = false; AVSYS_STREAM_LOCK(); - avsys_info(AVAUDIO, "%s, handle=[%d]\n", __func__, (int)handle); + avsys_info(AVAUDIO, "%s, handle=[%p]\n", __func__, handle); err = avsys_audio_handle_get_ptr((int)handle, &p, HANDLE_PTR_MODE_NORMAL); if (AVSYS_FAIL(err)) { @@ -239,7 +258,7 @@ int avsys_audio_close(avsys_handle_t handle) return err; } - if (AVSYS_FAIL(avsys_audio_handle_update_priority((int)handle, p->priority, AVSYS_AUDIO_HANDLE_ROUTE_FOLLOWING_POLICY, AVSYS_AUDIO_UNSET_PRIORITY))) { + if (AVSYS_FAIL(avsys_audio_handle_update_priority((void *)handle - NULL, p->priority, AVSYS_AUDIO_HANDLE_ROUTE_FOLLOWING_POLICY, AVSYS_AUDIO_UNSET_PRIORITY))) { avsys_error(AVAUDIO, "unset priority of handle %d error: %x\n", handle, err); } @@ -263,7 +282,8 @@ int avsys_audio_close(avsys_handle_t handle) return AVSYS_STATE_ERR_INTERNAL; } - avsys_audio_handle_free((int)handle); + // avsys_audio_handle_free((int)handle); + avsys_audio_handle_free((void *)handle - NULL); AVSYS_STREAM_UNLOCK(); @@ -391,7 +411,8 @@ int avsys_audio_write(avsys_handle_t handle, void *buf, int size) if (p->mode != AVSYS_AUDIO_MODE_OUTPUT && p->mode != AVSYS_AUDIO_MODE_OUTPUT_CLOCK && p->mode != AVSYS_AUDIO_MODE_OUTPUT_LOW_LATENCY && p->mode != AVSYS_AUDIO_MODE_OUTPUT_AP_CALL && p->mode != AVSYS_AUDIO_MODE_OUTPUT_VIDEO) { avsys_error(AVAUDIO, "opened input mode\n"); - avsys_audio_handle_release_ptr((int)handle, HANDLE_PTR_MODE_FAST); + // avsys_audio_handle_release_ptr((int)handle, HANDLE_PTR_MODE_FAST); + avsys_audio_handle_release_ptr((void *)handle - NULL, HANDLE_PTR_MODE_FAST); return AVSYS_STATE_ERR_INVALID_MODE; } @@ -560,7 +581,7 @@ int avsys_audio_set_mute(avsys_handle_t handle, int mute) return AVSYS_STATE_ERR_INVALID_PARAMETER; } - if (AVSYS_FAIL(avsys_audio_handle_set_mute((int)handle, mute))) { + if (AVSYS_FAIL(avsys_audio_handle_set_mute((void *)handle - NULL, mute))) { avsys_error(AVAUDIO, "failed to set handle mute\n"); }