[vlc-devel] [PATCH] opensles_android: fix integer print format
Romain Vimont
rom1v at videolabs.io
Thu Mar 26 11:38:32 CET 2020
On 3/26/20 11:22 AM, Alexandre Janniaux wrote:
> SLresult is defined as an SLuint32 and might not be represented as an
> unsigned long int. It is raising warnings when compiling for android
> aarch64, so display it as uint32 instead.
If the fact that SLresult is a SLuint32 is an implementation detail,
then either it should expose some PRIslresult (I guess it does not), or
IMO it should be casted for the printf:
printf("%lu", (unsigned long) result);
Otherwise, LGTM.
> block_t->i_buffer is size_t too and must be displayed with %zu.
> ---
> modules/audio_output/opensles_android.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/modules/audio_output/opensles_android.c b/modules/audio_output/opensles_android.c
> index 424baf2b04..a600b2238b 100644
> --- a/modules/audio_output/opensles_android.c
> +++ b/modules/audio_output/opensles_android.c
> @@ -51,11 +51,11 @@ JNIEnv *android_getEnv(vlc_object_t *p_obj, const char *psz_thread_name);
> * with 255 buffers we can buffer 2.55s of audio.
> */
>
> -#define CHECK_OPENSL_ERROR(msg) \
> +#define CHECK_OPENSL_ERROR(msg) \
> if (unlikely(result != SL_RESULT_SUCCESS)) \
> - { \
> - msg_Err(aout, msg" (%lu)", result); \
> - goto error; \
> + { \
> + msg_Err(aout, msg" (%" PRIu32 ")", result); \
> + goto error; \
> }
>
> typedef SLresult (*slCreateEngine_t)(
> @@ -157,7 +157,7 @@ static int TimeGet(audio_output_t* aout, vlc_tick_t* restrict drift)
> SLAndroidSimpleBufferQueueState st;
> SLresult res = GetState(sys->playerBufferQueue, &st);
> if (unlikely(res != SL_RESULT_SUCCESS)) {
> - msg_Err(aout, "Could not query buffer queue state in TimeGet (%lu)", res);
> + msg_Err(aout, "Could not query buffer queue state in TimeGet (%" PRIu32 ")", res);
> return -1;
> }
>
> @@ -262,7 +262,7 @@ static int WriteBuffer(audio_output_t *aout)
> SLAndroidSimpleBufferQueueState st;
> SLresult res = GetState(sys->playerBufferQueue, &st);
> if (unlikely(res != SL_RESULT_SUCCESS)) {
> - msg_Err(aout, "Could not query buffer queue state in %s (%lu)", __func__, res);
> + msg_Err(aout, "Could not query buffer queue state in %s (%" PRIu32 ")", __func__, res);
> return false;
> }
>
> @@ -307,7 +307,7 @@ static int WriteBuffer(audio_output_t *aout)
> return true;
> } else {
> /* XXX : if writing fails, we don't retry */
> - msg_Err(aout, "error %lu when writing %d bytes %s",
> + msg_Err(aout, "error %" PRIu32 " when writing %zu bytes %s",
> r, b->i_buffer,
> (r == SL_RESULT_BUFFER_INSUFFICIENT) ? " (buffer insufficient)" : "");
> return false;
>
More information about the vlc-devel
mailing list