llmediaimplgstreamer_syms.h

Go to the documentation of this file.
00001 
00032 #include "linden_common.h"
00033 
00034 #if LL_GSTREAMER_ENABLED
00035 
00036 extern "C" {
00037 #include <gst/gst.h>
00038 }
00039 
00040 bool grab_gst_syms(std::string gst_dso_name,
00041                    std::string gst_dso_name_vid,
00042                    std::string gst_dso_name_aud);
00043 void ungrab_gst_syms();
00044 
00045 #define LL_GST_SYM(REQ, GSTSYM, RTN, ...) extern RTN (*ll##GSTSYM)(__VA_ARGS__)
00046 #include "llmediaimplgstreamer_syms_raw.inc"
00047 #include "llmediaimplgstreamer_syms_rawa.inc"
00048 #include "llmediaimplgstreamer_syms_rawv.inc"
00049 #undef LL_GST_SYM
00050 
00051 // regrettable hacks to give us better runtime compatibility with older systems
00052 #define llg_return_if_fail(COND) do{if (!(COND)) return;}while(0)
00053 #define llg_return_val_if_fail(COND,V) do{if (!(COND)) return V;}while(0)
00054 
00055 // regrettable hacks because GStreamer was not designed for runtime loading
00056 #undef GST_TYPE_MESSAGE
00057 #define GST_TYPE_MESSAGE (llgst_message_get_type())
00058 #undef GST_TYPE_OBJECT
00059 #define GST_TYPE_OBJECT (llgst_object_get_type())
00060 #undef GST_TYPE_PIPELINE
00061 #define GST_TYPE_PIPELINE (llgst_pipeline_get_type())
00062 #undef GST_TYPE_ELEMENT
00063 #define GST_TYPE_ELEMENT (llgst_element_get_type())
00064 #undef GST_TYPE_AUDIO_SINK
00065 #define GST_TYPE_AUDIO_SINK (llgst_audio_sink_get_type())
00066 #undef GST_TYPE_VIDEO_SINK
00067 #define GST_TYPE_VIDEO_SINK (llgst_video_sink_get_type())
00068 #undef _gst_debug_register_funcptr
00069 #define _gst_debug_register_funcptr ll_gst_debug_register_funcptr
00070 #undef _gst_debug_category_new
00071 #define _gst_debug_category_new ll_gst_debug_category_new
00072 #undef __gst_debug_enabled
00073 #define __gst_debug_enabled (0)
00074 
00075 // more hacks
00076 #define LLGST_MESSAGE_TYPE_NAME(M) (llgst_message_type_get_name(GST_MESSAGE_TYPE(M)))
00077 
00078 #endif // LL_GSTREAMER_ENABLED

Generated on Thu Jul 1 06:08:51 2010 for Second Life Viewer by  doxygen 1.4.7