00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "config.h"
00023
00024 #ifdef MARSYAS_GSTREAMER
00025
00026 #ifndef GST_DECODE_H
00027 #define GST_DECODE_H
00028
00029 #include <gst/gst.h>
00030 #include <glib.h>
00031
00032 typedef double mrs_real;
00033
00034 typedef struct {
00035 GList* frameList;
00036 GList* frameSize;
00037 unsigned int frameCount;
00038 unsigned int totalSize;
00039 } gstreamerFrames;
00040
00041 typedef struct {
00042 mrs_real* data;
00043 unsigned int size;
00044 } audioVector;
00045
00046 static void cb_newpad (GstElement*, GstPad*, gboolean, GstElement*);
00047 void handoff (GstElement*, GstBuffer*, gstreamerFrames*);
00048 GstElement* gstreamer_init(const gchar*, gstreamerFrames*);
00049 void gstreamer_cleanup(GstElement*);
00050 audioVector gst_decode_file(const gchar*);
00051
00052 #endif
00053
00054 #endif //MARSYAS_GSTREAMER