aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmedia/llmediaimplgstreamer.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llmedia/llmediaimplgstreamer.h54
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;
57class LLMediaImplGStreamer: 57class 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
132class LLMediaImplGStreamerMaker : public LLMediaImplMaker 136class LLMediaImplGStreamerMaker : public LLMediaImplMaker
133{ 137{
134public: 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/////////////////////////////////////////////////////////////////////////