提交 8ad34904 编写于 作者: X Xinzheng Zhang

videotoolbox_async: remove unused lock

上级 25d2dbbe
......@@ -104,9 +104,6 @@ struct Ijk_VideoToolBox_Opaque {
SDL_SpeedSampler sampler;
};
static volatile int _Atomic vtb_active = 0;
static SDL_mutex *vtb_cond_mutex = NULL;
static SDL_cond *vtb_cond = NULL;
static void vtbformat_destroy(VTBFormatDesc *fmt_desc);
static int vtbformat_init(VTBFormatDesc *fmt_desc, AVCodecParameters *codecpar);
......@@ -946,11 +943,6 @@ void videotoolbox_async_free(Ijk_VideoToolBox_Opaque* context)
vtbformat_destroy(&context->fmt_desc);
avcodec_parameters_free(&context->codecpar);
assert(vtb_cond && vtb_cond_mutex);
SDL_LockMutex(vtb_cond_mutex);
atomic_store(&vtb_active, 0);
SDL_CondSignal(vtb_cond);
SDL_UnlockMutex(vtb_cond_mutex);
}
int videotoolbox_async_decode_frame(Ijk_VideoToolBox_Opaque* context)
......@@ -1137,26 +1129,8 @@ fail:
Ijk_VideoToolBox_Opaque* videotoolbox_async_create(FFPlayer* ffp, AVCodecContext* avctx)
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
vtb_active = 0;
atomic_store(&vtb_active, 0);
vtb_cond = SDL_CreateCond();
vtb_cond_mutex = SDL_CreateMutex();
});
int ret = 0;
SDL_LockMutex(vtb_cond_mutex);
if (atomic_load(&vtb_active)) {
SDL_CondWaitTimeout(vtb_cond, vtb_cond_mutex, 1000 * 10);
ret = atomic_load(&vtb_active);
}
if (!ret) {
atomic_store(&vtb_active, 1);
}
SDL_UnlockMutex(vtb_cond_mutex);
if (ret) {
ALOGW("%s - videotoolbox can not exists twice at the same time", __FUNCTION__);
return NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册