aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmedia/llmediaimplgstreamer.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llmedia/llmediaimplgstreamer.h')
-rw-r--r--linden/indra/llmedia/llmediaimplgstreamer.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.h b/linden/indra/llmedia/llmediaimplgstreamer.h
index dec970a..32e6bd1 100644
--- a/linden/indra/llmedia/llmediaimplgstreamer.h
+++ b/linden/indra/llmedia/llmediaimplgstreamer.h
@@ -48,6 +48,7 @@ extern "C" {
48} 48}
49 49
50#include "llmediaimplgstreamervidplug.h" 50#include "llmediaimplgstreamervidplug.h"
51#include "llgstplaythread.h"
51 52
52class LLMediaManagerData; 53class LLMediaManagerData;
53class LLMediaImplMaker; 54class LLMediaImplMaker;
@@ -66,6 +67,26 @@ class LLMediaImplGStreamer:
66 static bool startup( LLMediaManagerData* init_data ); 67 static bool startup( LLMediaManagerData* init_data );
67 static bool closedown(); 68 static bool closedown();
68 69
70 // Sets GST_PLUGIN_PATH env var for GStreamer.
71 static void set_gst_plugin_path();
72
73 /* virtual */ bool setDebugLevel( LLMediaBase::EDebugLevel level );
74
75 // Function given to GStreamer for handling debug messages
76 static void gstreamer_log(GstDebugCategory *category,
77 GstDebugLevel level,
78 const gchar *file,
79 const gchar *function,
80 gint line,
81 GObject *object,
82 GstDebugMessage *message,
83 gpointer data)
84#if __GNUC__
85 // recommended by the gstreamer docs
86 G_GNUC_NO_INSTRUMENT
87#endif
88 ;
89
69 /* virtual */ std::string getVersion(); 90 /* virtual */ std::string getVersion();
70 /* virtual */ bool navigateTo( const std::string url ); 91 /* virtual */ bool navigateTo( const std::string url );
71 /* virtual */ bool updateMedia(); 92 /* virtual */ bool updateMedia();
@@ -76,9 +97,13 @@ class LLMediaImplGStreamer:
76 /* virtual */ bool seek( double time ); 97 /* virtual */ bool seek( double time );
77 /* virtual */ bool setVolume( float volume ); 98 /* virtual */ bool setVolume( float volume );
78 99
100 void startPlay();
101
102
79 LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;}; 103 LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;};
80 104
81 private: 105 private:
106
82 // misc 107 // misc
83 bool unload(); 108 bool unload();
84 bool pause(); 109 bool pause();
@@ -100,6 +125,8 @@ class LLMediaImplGStreamer:
100 GstSLVideo *mVideoSink; 125 GstSLVideo *mVideoSink;
101 GstState mState; 126 GstState mState;
102 GstState getState() const { return mState; } 127 GstState getState() const { return mState; }
128
129 LLGstPlayThread *mPlayThread;
103}; 130};
104 131
105class LLMediaImplGStreamerMaker : public LLMediaImplMaker 132class LLMediaImplGStreamerMaker : public LLMediaImplMaker