emotion_gst... compile again on linux.. and remove warnings (bugs

waiting to possibly happen)



SVN revision: 66689
This commit is contained in:
Carsten Haitzler 2011-12-30 13:17:26 +00:00
parent 8b055c6398
commit 74e897b479
2 changed files with 24 additions and 14 deletions

View File

@ -1,6 +1,10 @@
#ifndef __EMOTION_GSTREAMER_H__ #ifndef __EMOTION_GSTREAMER_H__
#define __EMOTION_GSTREAMER_H__ #define __EMOTION_GSTREAMER_H__
#ifdef HAVE_ECORE_X
#include <Ecore_X.h>
#endif
typedef void (*Evas_Video_Convert_Cb)(unsigned char *evas_data, typedef void (*Evas_Video_Convert_Cb)(unsigned char *evas_data,
const unsigned char *gst_data, const unsigned char *gst_data,
unsigned int w, unsigned int w,

View File

@ -472,13 +472,13 @@ evas_video_sink_samsung_main_render(void *data)
{ {
Emotion_Gstreamer_Buffer *send; Emotion_Gstreamer_Buffer *send;
Emotion_Video_Stream *vstream; Emotion_Video_Stream *vstream;
EvasVideoSinkPrivate* priv; EvasVideoSinkPrivate *priv = NULL;
GstBuffer* buffer; GstBuffer* buffer;
unsigned char *evas_data; unsigned char *evas_data;
const guint8 *gst_data; const guint8 *gst_data;
GstFormat fmt = GST_FORMAT_TIME; GstFormat fmt = GST_FORMAT_TIME;
gint64 pos; gint64 pos;
Eina_Bool preroll; Eina_Bool preroll = EINA_FALSE;
int stride, elevation; int stride, elevation;
Evas_Coord w, h; Evas_Coord w, h;
@ -591,10 +591,13 @@ evas_video_sink_samsung_main_render(void *data)
emotion_gstreamer_buffer_free(send); emotion_gstreamer_buffer_free(send);
exit_stream: exit_stream:
if (preroll || !priv->o) return ; if (priv)
{
if (!priv->unlocked) if (preroll || !priv->o) return;
eina_condition_signal(&priv->c);
if (!priv->unlocked)
eina_condition_signal(&priv->c);
}
} }
static void static void
@ -603,12 +606,12 @@ evas_video_sink_main_render(void *data)
Emotion_Gstreamer_Buffer *send; Emotion_Gstreamer_Buffer *send;
Emotion_Gstreamer_Video *ev = NULL; Emotion_Gstreamer_Video *ev = NULL;
Emotion_Video_Stream *vstream; Emotion_Video_Stream *vstream;
EvasVideoSinkPrivate* priv; EvasVideoSinkPrivate *priv = NULL;
GstBuffer* buffer; GstBuffer *buffer;
unsigned char *evas_data; unsigned char *evas_data;
GstFormat fmt = GST_FORMAT_TIME; GstFormat fmt = GST_FORMAT_TIME;
gint64 pos; gint64 pos;
Eina_Bool preroll; Eina_Bool preroll = EINA_FALSE;
send = data; send = data;
@ -692,10 +695,13 @@ evas_video_sink_main_render(void *data)
emotion_gstreamer_buffer_free(send); emotion_gstreamer_buffer_free(send);
exit_stream: exit_stream:
if (preroll || !priv->o) return ; if (priv)
{
if (!priv->unlocked) if (preroll || !priv->o) return;
eina_condition_signal(&priv->c);
if (!priv->unlocked)
eina_condition_signal(&priv->c);
}
} }
static void static void
@ -1076,7 +1082,7 @@ gstreamer_video_sink_new(Emotion_Gstreamer_Video *ev,
evas_render_method_list_free(engines); evas_render_method_list_free(engines);
} }
#else #else
# warning "no ecore_x or xoverlay" # warning "missing: ecore_x OR xoverlay"
#endif #endif
esink = gst_element_factory_make("emotion-sink", "sink"); esink = gst_element_factory_make("emotion-sink", "sink");