This patch fix some bugs in gstreamer module.
Index: src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c
===================================================================
--- src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c (revision 40503)
+++ src/modules/gstreamer/emotion_gstreamer_pipeline_cdda.c (working copy)
@@ -108,7 +108,7 @@
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;
Index: src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c
===================================================================
--- src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c (revision 40503)
+++ src/modules/gstreamer/emotion_gstreamer_pipeline_dvd.c (working copy)
@@ -101,6 +101,7 @@
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 @@
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 @@
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;
Index: src/modules/gstreamer/emotion_gstreamer_pipeline.c
===================================================================
--- src/modules/gstreamer/emotion_gstreamer_pipeline.c (revision 40503)
+++ src/modules/gstreamer/emotion_gstreamer_pipeline.c (working copy)
@@ -97,7 +97,7 @@
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 @@
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 @@
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;
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel