mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 836243 - Relax gstreamer version requirement. r=alessandro.d
This commit is contained in:
parent
84eb8522f9
commit
a2663aeb28
@ -5720,9 +5720,7 @@ if test "$MOZ_GSTREAMER"; then
|
||||
# API version, eg 0.10, 1.0 etc
|
||||
GST_API_VERSION=0.10
|
||||
# core/base release number
|
||||
# depend on >= 0.10.33 as that's when the playbin2 source-setup signal was
|
||||
# introduced
|
||||
GST_VERSION=0.10.33
|
||||
GST_VERSION=0.10.25
|
||||
PKG_CHECK_MODULES(GSTREAMER,
|
||||
gstreamer-$GST_API_VERSION >= $GST_VERSION
|
||||
gstreamer-app-$GST_API_VERSION
|
||||
|
@ -88,6 +88,8 @@ GStreamerReader::~GStreamerReader()
|
||||
|
||||
if (mPlayBin) {
|
||||
gst_app_src_end_of_stream(mSource);
|
||||
if (mSource)
|
||||
gst_object_unref(mSource);
|
||||
gst_element_set_state(mPlayBin, GST_STATE_NULL);
|
||||
gst_object_unref(mPlayBin);
|
||||
mPlayBin = NULL;
|
||||
@ -160,18 +162,21 @@ nsresult GStreamerReader::Init(MediaDecoderReader* aCloneDonor)
|
||||
"audio-sink", mAudioSink,
|
||||
NULL);
|
||||
|
||||
g_object_connect(mPlayBin, "signal::source-setup",
|
||||
GStreamerReader::PlayBinSourceSetupCb, this, NULL);
|
||||
g_signal_connect(G_OBJECT(mPlayBin), "notify::source",
|
||||
G_CALLBACK(GStreamerReader::PlayBinSourceSetupCb), this);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void GStreamerReader::PlayBinSourceSetupCb(GstElement *aPlayBin,
|
||||
GstElement *aSource,
|
||||
GParamSpec *pspec,
|
||||
gpointer aUserData)
|
||||
{
|
||||
GstElement *source;
|
||||
GStreamerReader *reader = reinterpret_cast<GStreamerReader*>(aUserData);
|
||||
reader->PlayBinSourceSetup(GST_APP_SRC(aSource));
|
||||
|
||||
g_object_get(aPlayBin, "source", &source, NULL);
|
||||
reader->PlayBinSourceSetup(GST_APP_SRC(source));
|
||||
}
|
||||
|
||||
void GStreamerReader::PlayBinSourceSetup(GstAppSrc *aSource)
|
||||
|
@ -57,7 +57,7 @@ private:
|
||||
* configure appsrc .
|
||||
*/
|
||||
static void PlayBinSourceSetupCb(GstElement *aPlayBin,
|
||||
GstElement *aSource,
|
||||
GParamSpec *pspec,
|
||||
gpointer aUserData);
|
||||
void PlayBinSourceSetup(GstAppSrc *aSource);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user