return ret;
}
-int _mm_cleanup_pipeline(handle_s *handle)
+int _mm_cleanup_signal(handle_s *handle)
{
int ret = MM_ERROR_NONE;
return MM_ERROR_INVALID_ARGUMENT;
}
- if (!handle->decoder_vidp) {
- debug_error("[ERROR] - handle decoder video process bin");
+ if (!handle->property) {
+ debug_error("[ERROR] - handle property");
return MM_ERROR_TRANSCODE_INTERNAL;
}
+ 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;
+ }
+
if (!handle->property) {
debug_error("[ERROR] - handle property");
return MM_ERROR_TRANSCODE_INTERNAL;
}
/* release videopad */
- if (handle->decoder_vidp->decvideosinkpad) {
- gst_object_unref(GST_OBJECT(handle->decoder_vidp->decvideosinkpad));
- handle->decoder_vidp->decvideosinkpad = NULL;
- debug_log("Success - gt_object_unref (decvideosinkpad)");
- }
+ if (handle->decoder_vidp) {
+ if (handle->decoder_vidp->decvideosinkpad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_vidp->decvideosinkpad));
+ handle->decoder_vidp->decvideosinkpad = NULL;
+ debug_log("Success - gt_object_unref (decvideosinkpad)");
+ }
- if (handle->decoder_vidp->decvideosrcpad) {
- gst_object_unref(GST_OBJECT(handle->decoder_vidp->decvideosrcpad));
- handle->decoder_vidp->decvideosrcpad = NULL;
- debug_log("Success - gst_object_unref (decvideosrcpad)");
- }
+ if (handle->decoder_vidp->decvideosrcpad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_vidp->decvideosrcpad));
+ handle->decoder_vidp->decvideosrcpad = NULL;
+ debug_log("Success - gst_object_unref (decvideosrcpad)");
+ }
- if (handle->decoder_vidp->srcdecvideopad) {
- gst_object_unref(GST_OBJECT(handle->decoder_vidp->srcdecvideopad));
- handle->decoder_vidp->srcdecvideopad = NULL;
- debug_log("Success - gst_object_unref (srcdecvideopad)");
- }
+ if (handle->decoder_vidp->srcdecvideopad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_vidp->srcdecvideopad));
+ handle->decoder_vidp->srcdecvideopad = NULL;
+ debug_log("Success - gst_object_unref (srcdecvideopad)");
+ }
- if (handle->decoder_vidp->sinkdecvideopad) {
- gst_object_unref(GST_OBJECT(handle->decoder_vidp->sinkdecvideopad));
- handle->decoder_vidp->sinkdecvideopad = NULL;
- debug_log("Success - gst_object_unref (sinkdecvideopad)");
+ if (handle->decoder_vidp->sinkdecvideopad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_vidp->sinkdecvideopad));
+ handle->decoder_vidp->sinkdecvideopad = NULL;
+ debug_log("Success - gst_object_unref (sinkdecvideopad)");
+ }
}
/* release audiopad */
- if (handle->decoder_audp->decaudiosinkpad) {
- gst_object_unref(GST_OBJECT(handle->decoder_audp->decaudiosinkpad));
- handle->decoder_audp->decaudiosinkpad = NULL;
- debug_log("Success - gst_object_unref (decaudiosinkpad)");
- }
+ if (handle->decoder_audp) {
+ if (handle->decoder_audp->decaudiosinkpad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_audp->decaudiosinkpad));
+ handle->decoder_audp->decaudiosinkpad = NULL;
+ debug_log("Success - gst_object_unref (decaudiosinkpad)");
+ }
- if (handle->decoder_audp->decaudiosrcpad) {
- gst_object_unref(GST_OBJECT(handle->decoder_audp->decaudiosrcpad));
- handle->decoder_audp->decaudiosrcpad = NULL;
- debug_log("Success - gst_object_unref (decaudiosrcpad)");
- }
+ if (handle->decoder_audp->decaudiosrcpad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_audp->decaudiosrcpad));
+ handle->decoder_audp->decaudiosrcpad = NULL;
+ debug_log("Success - gst_object_unref (decaudiosrcpad)");
+ }
- if (handle->decoder_audp->srcdecaudiopad) {
- gst_object_unref(GST_OBJECT(handle->decoder_audp->srcdecaudiopad));
- handle->decoder_audp->srcdecaudiopad = NULL;
- debug_log("Success - gst_object_unref (srcdecaudiopad)");
- }
+ if (handle->decoder_audp->srcdecaudiopad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_audp->srcdecaudiopad));
+ handle->decoder_audp->srcdecaudiopad = NULL;
+ debug_log("Success - gst_object_unref (srcdecaudiopad)");
+ }
- if (handle->decoder_audp->sinkdecaudiopad) {
- gst_object_unref(GST_OBJECT(handle->decoder_audp->sinkdecaudiopad));
- handle->decoder_audp->sinkdecaudiopad = NULL;
- debug_log("Success - gst_object_unref (sinkdecaudiopad)");
+ if (handle->decoder_audp->sinkdecaudiopad) {
+ gst_object_unref(GST_OBJECT(handle->decoder_audp->sinkdecaudiopad));
+ handle->decoder_audp->sinkdecaudiopad = NULL;
+ debug_log("Success - gst_object_unref (sinkdecaudiopad)");
+ }
}
if (_mm_cleanup_encodebin(handle) != MM_ERROR_NONE) {
debug_log("Success - gst_object_unref (pipeline)");
}
- 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)");
- }
-
TRANSCODE_FREE(handle->property->mux);
TRANSCODE_FREE(handle->property->venc);
TRANSCODE_FREE(handle->property->aenc);