diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmedia/llmediaimplgstreamer.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.h b/linden/indra/llmedia/llmediaimplgstreamer.h index f1ffd3a..07b698d 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.h +++ b/linden/indra/llmedia/llmediaimplgstreamer.h | |||
@@ -18,7 +18,8 @@ | |||
18 | * There are special exceptions to the terms and conditions of the GPL as | 18 | * There are special exceptions to the terms and conditions of the GPL as |
19 | * it is applied to this Source Code. View the full text of the exception | 19 | * it is applied to this Source Code. View the full text of the exception |
20 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 20 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
21 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 21 | * online at |
22 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
22 | * | 23 | * |
23 | * By copying, modifying or distributing this software, you acknowledge | 24 | * By copying, modifying or distributing this software, you acknowledge |
24 | * that you have read and understood your obligations described above, | 25 | * that you have read and understood your obligations described above, |
@@ -48,9 +49,6 @@ extern "C" { | |||
48 | } | 49 | } |
49 | 50 | ||
50 | #include "llmediaimplgstreamervidplug.h" | 51 | #include "llmediaimplgstreamervidplug.h" |
51 | #ifdef LL_GST_SOUNDSINK | ||
52 | #include "llmediaimplgstreamersndplug.h" | ||
53 | #endif // LL_GST_SOUNDSINK | ||
54 | 52 | ||
55 | class LLMediaManagerData; | 53 | class LLMediaManagerData; |
56 | class LLMediaImplMaker; | 54 | class LLMediaImplMaker; |
@@ -81,30 +79,38 @@ class LLMediaImplGStreamer: | |||
81 | 79 | ||
82 | LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;}; | 80 | LLMediaEmitter< LLMediaObserver > getEventEmitter() const {return mEventEmitter;}; |
83 | 81 | ||
84 | private: | ||
85 | // misc | 82 | // misc |
86 | bool unload(); | ||
87 | bool pause(); | 83 | bool pause(); |
88 | bool stop(); | 84 | bool stop(); |
89 | bool play(); | 85 | bool play(); |
90 | static gboolean bus_callback (GstBus *bus, | 86 | bool getTimePos(double &sec_out); |
91 | GstMessage *message, | 87 | static const double MIN_LOOP_SEC = 1.0F; |
92 | gpointer data); | 88 | |
89 | private: | ||
90 | bool unload(); | ||
91 | |||
92 | static bool mDoneInit; | ||
93 | |||
94 | guint mBusWatchID; | ||
95 | |||
93 | unsigned char* mediaData; | 96 | unsigned char* mediaData; |
94 | int mMediaRowbytes; | 97 | int mMediaRowbytes; |
95 | 98 | ||
96 | int mTextureFormatPrimary; | 99 | int mTextureFormatPrimary; |
97 | int mTextureFormatType; | 100 | int mTextureFormatType; |
98 | 101 | ||
99 | // GStreamer-specific | 102 | // Very GStreamer-specific |
100 | GMainLoop *mPump; // event pump for this media | 103 | GMainLoop *mPump; // event pump for this media |
101 | GstElement *mPlaybin; | 104 | GstElement *mPlaybin; |
102 | GstSLVideo *mVideoSink; | 105 | GstSLVideo *mVideoSink; |
103 | #ifdef LL_GST_SOUNDSINK | ||
104 | GstSLSound *mAudioSink; | ||
105 | #endif // LL_GST_SOUNDSINK | ||
106 | }; | 106 | }; |
107 | 107 | ||
108 | extern "C" { | ||
109 | gboolean llmediaimplgstreamer_bus_callback (GstBus *bus, | ||
110 | GstMessage *message, | ||
111 | gpointer data); | ||
112 | } | ||
113 | |||
108 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker | 114 | class LLMediaImplGStreamerMaker : public LLMediaImplMaker |
109 | { | 115 | { |
110 | public: | 116 | public: |