diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.h | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.h b/linden/indra/llmedia/llmediaimplgstreamer.h index 32e6bd1..d1566e3 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.h +++ b/linden/indra/llmedia/llmediaimplgstreamer.h | |||
@@ -57,6 +57,8 @@ class LLMediaImplMaker; | |||
57 | class LLMediaImplGStreamer: | 57 | class LLMediaImplGStreamer: |
58 | public LLMediaImplCommon | 58 | public LLMediaImplCommon |
59 | { | 59 | { |
60 | friend class LLGstPlayThread; | ||
61 | |||
60 | public: | 62 | public: |
61 | LLMediaImplGStreamer (); | 63 | LLMediaImplGStreamer (); |
62 | virtual ~LLMediaImplGStreamer (); | 64 | virtual ~LLMediaImplGStreamer (); |
@@ -95,33 +97,35 @@ class LLMediaImplGStreamer: | |||
95 | /* virtual */ int getTextureFormatType() const; | 97 | /* virtual */ int getTextureFormatType() const; |
96 | /* virtual */ int getTextureFormatInternal() const; | 98 | /* virtual */ int getTextureFormatInternal() const; |
97 | /* virtual */ bool seek( double time ); | 99 | /* virtual */ bool seek( double time ); |
98 | /* virtual */ bool setVolume( float volume ); | 100 | /* virtual */ bool setVolume( float volume ); |
99 | 101 | ||
100 | void startPlay(); | 102 | LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;}; |
101 | 103 | ||
104 | protected: | ||
105 | |||
106 | void startPlay(); | ||
102 | 107 | ||
103 | LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;}; | ||
104 | 108 | ||
105 | private: | 109 | private: |
106 | 110 | ||
107 | // misc | 111 | // misc |
108 | bool unload(); | 112 | bool unload(); |
109 | bool pause(); | 113 | bool pause(); |
110 | bool stop(); | 114 | bool stop(); |
111 | bool play(); | 115 | bool play(); |
112 | 116 | ||
113 | static gboolean bus_callback (GstBus *bus, | 117 | static gboolean bus_callback (GstBus *bus, |
114 | GstMessage *message, | 118 | GstMessage *message, |
115 | gpointer data); | 119 | gpointer data); |
116 | unsigned char* mediaData; | ||
117 | int mMediaRowbytes; | ||
118 | 120 | ||
119 | int mTextureFormatPrimary; | 121 | unsigned char* mediaData; |
120 | int mTextureFormatType; | 122 | int mMediaRowbytes; |
123 | int mTextureFormatPrimary; | ||
124 | int mTextureFormatType; | ||
121 | 125 | ||
122 | // GStreamer-specific | 126 | // GStreamer-specific |
123 | GMainLoop *mPump; // event pump for this media | 127 | GMainLoop *mPump; // event pump for this media |
124 | GstElement *mPlaybin; | 128 | GstElement *mPlaybin; |
125 | GstSLVideo *mVideoSink; | 129 | GstSLVideo *mVideoSink; |
126 | GstState mState; | 130 | GstState mState; |
127 | GstState getState() const { return mState; } | 131 | GstState getState() const { return mState; } |
@@ -131,12 +135,12 @@ class LLMediaImplGStreamer: | |||
131 | 135 | ||
132 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker | 136 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker |
133 | { | 137 | { |
134 | public: | 138 | public: |
135 | LLMediaImplGStreamerMaker(); | 139 | LLMediaImplGStreamerMaker(); |
136 | LLMediaImplGStreamer* create() | 140 | LLMediaImplGStreamer* create() |
137 | { | 141 | { |
138 | return new LLMediaImplGStreamer(); | 142 | return new LLMediaImplGStreamer(); |
139 | } | 143 | } |
140 | }; | 144 | }; |
141 | 145 | ||
142 | ///////////////////////////////////////////////////////////////////////// | 146 | ///////////////////////////////////////////////////////////////////////// |