+ if (handle->property->progress_cb) {
+ handle->property->progress_cb = NULL;
+ handle->property->progress_cb_param = NULL;
+ }
+
+ if (handle->property->completed_cb) {
+ handle->property->completed_cb = NULL;
+ handle->property->completed_cb_param= NULL;
+ }
+
+ if (handle->property->audio_cb_probe_id) {
+ g_source_remove(handle->property->audio_cb_probe_id);
+ handle->property->audio_cb_probe_id = 0;
+ debug_log("g_source_remove (audio_cb_probe_id)");
+ }
+
+ if (handle->property->video_cb_probe_id) {
+ g_source_remove(handle->property->video_cb_probe_id);
+ handle->property->video_cb_probe_id = 0;
+ debug_log("g_source_remove (video_cb_probe_id)");
+ }
+
+ if (handle->property->progrss_event_id) {
+ g_source_remove(handle->property->progrss_event_id);
+ handle->property->progrss_event_id = 0;
+ debug_log("g_source_remove (progrss_event_id)");
+ }
+
+ if (handle->encodebin->audio_event_probe_id) {
+ g_source_remove(handle->encodebin->audio_event_probe_id);
+ handle->encodebin->audio_event_probe_id = 0;
+ debug_log("g_source_remove (audio_event_probe_id)");
+ }
+
+ if (handle->encodebin->video_event_probe_id) {
+ g_source_remove(handle->encodebin->video_event_probe_id);
+ handle->encodebin->video_event_probe_id = 0;
+ debug_log("g_source_remove (video_event_probe_id)");
+ }
+
+ return ret;
+}
+
+
+int _mm_cleanup_pipeline(handle_s *handle)
+{
+ int ret = MM_ERROR_NONE;
+
+ if (!handle) {
+ debug_error("[ERROR] - handle");
+ return MM_ERROR_INVALID_ARGUMENT;
+ }
+