static Ecore_Event_Handler *_event_handlers;
typedef struct _video_info{
- pthread_mutex_t* mutex;
mv_video_reader_h reader;
} video_info;
ev->type = indices[max_confidence_idx];
ev->confidence = confidences[max_confidence_idx];
- if(user_data)
- {
- pthread_mutex_unlock((pthread_mutex_t*)user_data);
- ecore_main_loop_thread_safe_call_async(_send_vision_event_cb, ev);
- pthread_mutex_lock((pthread_mutex_t*)user_data);
- }
- else
- {
- ecore_main_loop_thread_safe_call_async(_send_vision_event_cb, ev);
- }
+ ecore_main_loop_thread_safe_call_async(_send_vision_event_cb, ev);
}
int load_mv_source_from_file(
return;
}
- if(video_infos->mutex)
- {
- pthread_mutex_unlock(video_infos->mutex);
- pthread_mutex_destroy(video_infos->mutex);
- LOGD("destroy mutex well");
- }
-
if(video_infos->reader)
{
mv_destroy_video_reader(video_infos->reader);
}
video_infos->reader = reader;
- video_infos->mutex = (pthread_mutex_t*)user_data;
ecore_main_loop_thread_safe_call_async(_vision_finish_cb, video_infos);
}
LOGI("Receive frame metadata: wxh - %ux%u, fps - %u, format - %d\n",
image_data.image_width, image_data.image_height, fps, image_data.image_colorspace);
- pthread_mutex_t block_during_tracking_mutex;
- pthread_mutex_init(&block_during_tracking_mutex, NULL);
- err = mv_video_reader_set_new_sample_cb(reader, new_frame_cb, &block_during_tracking_mutex);
+ err = mv_video_reader_set_new_sample_cb(reader, new_frame_cb, NULL);
if (MEDIA_VISION_ERROR_NONE != err) {
LOGE("ERROR: Errors were occurred during set new frame callback; code %i\n", err);
release_resources();
return err;
}
- pthread_mutex_lock(&block_during_tracking_mutex);
- err = mv_video_reader_set_eos_cb(reader, eos_frame_cb, &block_during_tracking_mutex);
+ err = mv_video_reader_set_eos_cb(reader, eos_frame_cb, reader);
if (MEDIA_VISION_ERROR_NONE != err) {
LOGE("ERROR: Errors were occurred during set new frame callback; code %i\n", err);
release_resources();
- pthread_mutex_unlock(&block_during_tracking_mutex);
- pthread_mutex_destroy(&block_during_tracking_mutex);
return err;
}
err = mv_video_reader_start(reader);
if (MEDIA_VISION_ERROR_NONE != err) {
LOGE("ERROR: Errors were occurred during video reading starts; code %i\n", err);
release_resources();
- pthread_mutex_unlock(&block_during_tracking_mutex);
- pthread_mutex_destroy(&block_during_tracking_mutex);
return err;
}
-
#undef release_resources
return err;
}