parent
dc5e3e07af
commit
bad4d6e848
10 changed files with 1625 additions and 30 deletions
@ -1,2 +1,3 @@ |
||||
The Rasterman (Carsten Haitzler) <raster@rasterman.com> |
||||
|
||||
doursse (Vincent Torri) <torri@maths.univ-evry.fr> |
||||
captainigloo |
||||
|
@ -1,2 +1,17 @@ |
||||
|
||||
Emotion smart object |
||||
-------------------- |
||||
|
||||
|
||||
Xine module |
||||
----------- |
||||
|
||||
* Fix seek and get_pos threads delete bugs (infinite loop) |
||||
* Add support of visualizations for audio files (Goom...) |
||||
|
||||
|
||||
Gstreamer module |
||||
---------------- |
||||
|
||||
* Add gststreamselector to support multiple video and audio streams. |
||||
* Add support of visualizations for audio files (Goom...) |
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,76 @@ |
||||
#ifndef __EMOTION_GSTREAMER_H__ |
||||
#define __EMOTION_GSTREAMER_H__ |
||||
|
||||
#include <Ecore_Data.h> |
||||
|
||||
#include <gst/gst.h> |
||||
|
||||
typedef struct _Emotion_Video_Sink Emotion_Video_Sink; |
||||
|
||||
struct _Emotion_Video_Sink |
||||
{ |
||||
GstElement *sink; |
||||
unsigned long long length_time; |
||||
unsigned long long length_frames; |
||||
unsigned int width; |
||||
unsigned int height; |
||||
unsigned int par_num; |
||||
unsigned int par_den; |
||||
double framerate; |
||||
}; |
||||
|
||||
typedef struct _Emotion_Audio_Sink Emotion_Audio_Sink; |
||||
|
||||
struct _Emotion_Audio_Sink |
||||
{ |
||||
GstElement *sink; |
||||
unsigned long long length_time; |
||||
unsigned long long length_samples; |
||||
unsigned int channels; |
||||
unsigned int samplerate; |
||||
}; |
||||
|
||||
typedef struct _Emotion_Gstreamer_Video Emotion_Gstreamer_Video; |
||||
|
||||
struct _Emotion_Gstreamer_Video |
||||
{ |
||||
/* Gstreamer elements */ |
||||
GstElement *pipeline; |
||||
|
||||
/* Sinks */ |
||||
Ecore_List *video_sinks; |
||||
Ecore_List *audio_sinks; |
||||
|
||||
/* Evas object */ |
||||
Evas_Object *obj; |
||||
unsigned char *obj_data; |
||||
|
||||
/* Characteristics */ |
||||
int position; |
||||
int width; |
||||
int height; |
||||
double ratio; |
||||
|
||||
volatile int seek_to; |
||||
volatile int get_poslen; |
||||
volatile double seek_to_pos; |
||||
|
||||
int fd_ev_read; |
||||
int fd_ev_write; |
||||
Ecore_Fd_Handler *fd_ev_handler; |
||||
|
||||
|
||||
unsigned char play : 1; |
||||
unsigned char video_mute : 1; |
||||
unsigned char audio_mute : 1; |
||||
}; |
||||
|
||||
unsigned char module_open (Evas_Object *obj, |
||||
Emotion_Video_Module **module, |
||||
void **video); |
||||
|
||||
void module_close (Emotion_Video_Module *module, |
||||
void *video); |
||||
|
||||
|
||||
#endif /* __EMOTION_GSTREAMER_H__ */ |
Loading…
Reference in new issue