gstreamer fixes

SVN revision: 40671
This commit is contained in:
Carsten Haitzler 2009-05-15 11:48:32 +00:00
parent 1d75ac114a
commit 67db885317
3 changed files with 8 additions and 8 deletions

View File

@ -97,7 +97,7 @@ file_new_decoded_pad_cb(GstElement *decodebin,
vsink = (Emotion_Video_Sink *)calloc(1, sizeof(Emotion_Video_Sink)); vsink = (Emotion_Video_Sink *)calloc(1, sizeof(Emotion_Video_Sink));
if (!vsink) return; if (!vsink) return;
ev->video_sinks = eina_list_append(ev->video_sinks, vsink); 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); free(vsink);
return; return;
@ -126,14 +126,13 @@ file_new_decoded_pad_cb(GstElement *decodebin,
asink = (Emotion_Audio_Sink *)calloc(1, sizeof(Emotion_Audio_Sink)); asink = (Emotion_Audio_Sink *)calloc(1, sizeof(Emotion_Audio_Sink));
if (!asink) return; if (!asink) return;
ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); 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); free(asink);
return; 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); asink->sink = emotion_audio_sink_create(ev, index);
gst_bin_add(GST_BIN(ev->pipeline), asink->sink); gst_bin_add(GST_BIN(ev->pipeline), asink->sink);
audiopad = gst_element_get_pad(asink->sink, "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; if (!vsink) return NULL;
ev->video_sinks = eina_list_append(ev->video_sinks, vsink); 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); free(vsink);
return NULL; return NULL;

View File

@ -108,7 +108,7 @@ _emotion_audio_sink_new(Emotion_Gstreamer_Video *ev)
if (!asink) return NULL; if (!asink) return NULL;
ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); 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); free(asink);
return NULL; return NULL;

View File

@ -101,6 +101,7 @@ emotion_pipeline_dvd_build(void *video, const char *device)
GstCaps *sink_caps; GstCaps *sink_caps;
asink = (Emotion_Audio_Sink *)eina_list_data_get(alist); 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_pad = gst_element_get_pad(gst_bin_get_by_name(GST_BIN(ev->pipeline), "a52dec"), "src");
sink_caps = gst_pad_get_caps(sink_pad); 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)); vsink = (Emotion_Video_Sink *)malloc(sizeof(Emotion_Video_Sink));
if (!vsink) return; if (!vsink) return;
ev->video_sinks = eina_list_append(ev->video_sinks, vsink); 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); free(vsink);
return; return;
@ -203,7 +204,7 @@ dvd_pad_added_cb(GstElement *dvddemuxer,
asink = (Emotion_Audio_Sink *)malloc(sizeof(Emotion_Audio_Sink)); asink = (Emotion_Audio_Sink *)malloc(sizeof(Emotion_Audio_Sink));
if (!asink) return; if (!asink) return;
ev->audio_sinks = eina_list_append(ev->audio_sinks, asink); 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); free(asink);
return; return;