diff options
Diffstat (limited to 'linden/indra/llmedia/llmediaimplgstreamer.h')
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.h | 27 |
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 | ||
52 | class LLMediaManagerData; | 53 | class LLMediaManagerData; |
53 | class LLMediaImplMaker; | 54 | class 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 | ||
105 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker | 132 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker |