diff --git a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline.c b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline.c index e8f5bbf9d7..4d3632aafd 100644 --- a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline.c +++ b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline.c @@ -97,7 +97,7 @@ file_new_decoded_pad_cb(GstElement *decodebin, vsink = (Emotion_Video_Sink *)calloc(1, sizeof(Emotion_Video_Sink)); if (!vsink) return; ev->video_sinks = eina_list_append(ev->video_sinks, vsink); - if (!eina_list_data_find(ev->video_sinks, vsink)) + if (eina_error_get()) { free(vsink); return; @@ -126,14 +126,13 @@ file_new_decoded_pad_cb(GstElement *decodebin, asink = (Emotion_Audio_Sink *)calloc(1, sizeof(Emotion_Audio_Sink)); if (!asink) return; ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); - if (!eina_list_data_find(ev->audio_sinks, asink)) + if (eina_error_get()) { free(asink); return; } - for (index = 0; asink != eina_list_nth(ev->audio_sinks, index); index++) - ; + index = eina_list_count(ev->audio_sinks); asink->sink = emotion_audio_sink_create(ev, index); gst_bin_add(GST_BIN(ev->pipeline), asink->sink); audiopad = gst_element_get_pad(asink->sink, "sink"); @@ -155,7 +154,7 @@ emotion_video_sink_new(Emotion_Gstreamer_Video *ev) if (!vsink) return NULL; ev->video_sinks = eina_list_append(ev->video_sinks, vsink); - if (!eina_list_data_find(ev->video_sinks, vsink)) + if (eina_error_get()) { free(vsink); return NULL; diff --git a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c index 655252a1a2..b2f47366b2 100644 --- a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c +++ b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c @@ -108,7 +108,7 @@ _emotion_audio_sink_new(Emotion_Gstreamer_Video *ev) if (!asink) return NULL; ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); - if (!eina_list_data_find(ev->audio_sinks, asink)) + if (eina_error_get()) { free(asink); return NULL; diff --git a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c index ea8a6f26f1..48b9f00dde 100644 --- a/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c +++ b/legacy/emotion/src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c @@ -101,6 +101,7 @@ emotion_pipeline_dvd_build(void *video, const char *device) GstCaps *sink_caps; asink = (Emotion_Audio_Sink *)eina_list_data_get(alist); + alist = eina_list_next(alist); sink_pad = gst_element_get_pad(gst_bin_get_by_name(GST_BIN(ev->pipeline), "a52dec"), "src"); sink_caps = gst_pad_get_caps(sink_pad); @@ -165,7 +166,7 @@ dvd_pad_added_cb(GstElement *dvddemuxer, vsink = (Emotion_Video_Sink *)malloc(sizeof(Emotion_Video_Sink)); if (!vsink) return; ev->video_sinks = eina_list_append(ev->video_sinks, vsink); - if (!eina_list_data_find(ev->video_sinks, vsink)) + if (eina_error_get()) { free(vsink); return; @@ -203,7 +204,7 @@ dvd_pad_added_cb(GstElement *dvddemuxer, asink = (Emotion_Audio_Sink *)malloc(sizeof(Emotion_Audio_Sink)); if (!asink) return; ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); - if (!eina_list_data_find(ev->audio_sinks, asink)) + if (eina_error_get()) { free(asink); return;