X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmm_camcorder_resource.c;h=75708544779fe7ef7acfdadfdddad42e2c01af2c;hb=d70efd3df4d04a28963f4df0ee32569fc6fb0436;hp=d142863d65346522c52002138fcc3e9bb1e0a12c;hpb=573b62ed80a3834b5c7957cf993e3177c6cc41df;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git diff --git a/src/mm_camcorder_resource.c b/src/mm_camcorder_resource.c index d142863..7570854 100644 --- a/src/mm_camcorder_resource.c +++ b/src/mm_camcorder_resource.c @@ -136,8 +136,11 @@ static void __mmcamcorder_resource_set_state_callback(mrp_res_context_t *cx, con mmf_return_if_fail((MMHandleType)camcorder); + _MMCAMCORDER_LOCK_RESOURCE(camcorder); + if (!mrp_res_equal_resource_set(rs, camcorder->resource_manager.rset)) { _mmcam_dbg_warn("- resource set(%p) is not same as this camcorder handle's(%p)", rs, camcorder->resource_manager.rset); + _MMCAMCORDER_UNLOCK_RESOURCE(camcorder); return; } @@ -153,8 +156,6 @@ static void __mmcamcorder_resource_set_state_callback(mrp_res_context_t *cx, con res->name, __mmcamcorder_resource_state_to_str(res->state)); if (res->state == MRP_RES_RESOURCE_ACQUIRED) { - _MMCAMCORDER_LOCK_RESOURCE(camcorder); - camcorder->resource_manager.acquire_count--; if (camcorder->resource_manager.acquire_count <= 0) { @@ -164,8 +165,6 @@ static void __mmcamcorder_resource_set_state_callback(mrp_res_context_t *cx, con _mmcam_dbg_warn("remained acquire count %d", camcorder->resource_manager.acquire_count); } - - _MMCAMCORDER_UNLOCK_RESOURCE(camcorder); } } } @@ -173,6 +172,8 @@ static void __mmcamcorder_resource_set_state_callback(mrp_res_context_t *cx, con mrp_res_delete_resource_set(camcorder->resource_manager.rset); camcorder->resource_manager.rset = mrp_res_copy_resource_set(rs); + _MMCAMCORDER_UNLOCK_RESOURCE(camcorder); + return; }