From 4c126bf56c8937674bf69e0cd5fe3a15bf15c378 Mon Sep 17 00:00:00 2001 From: Zhang Rui Date: Thu, 17 Dec 2015 11:53:59 +0800 Subject: [PATCH] android/MediaCodec: atomic increament of g_amediacodec_object_serial --- ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec.c b/ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec.c index ef7157bd..1ebd90a2 100644 --- a/ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec.c +++ b/ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec.c @@ -25,14 +25,13 @@ #include #include "ijksdl/ijksdl_log.h" -static int g_amediacodec_object_serial; +static volatile int g_amediacodec_object_serial; -// TODO: thread-safe int SDL_AMediaCodec_create_object_serial() { - int object_serial = ++g_amediacodec_object_serial; + int object_serial = __sync_add_and_fetch(&g_amediacodec_object_serial, 1); if (object_serial == 0) - object_serial = SDL_AMediaCodec_create_object_serial(); + object_serial = __sync_add_and_fetch(&g_amediacodec_object_serial, 1); return object_serial; } -- GitLab