[oe] [meta-qt5][PATCH] gstreamer1.0-patch: fixed breaking of 0.1 support
Gerhard de Clercq
gerharddeclercq at outlook.com
Tue Dec 15 17:04:15 UTC 2015
Hi,
I believe the reason it does not apply is because I copied the patch into an
email manually instead of using git email because I did not have my mail set
up for git email yet and I wasn't in the mood for doing so. This probably
messed up the whitespacing. I'll send a V2. I did read your mail but the
original commit was already applied and committed and I did not think it would
make that much of difference. I never realized that it was meant to retain the
header.
--
Regards,
Gerhard de Clercq
On Tuesday 15 Dec 2015 17:48:06 Martin Jansa wrote:
> On Tue, Dec 15, 2015 at 06:28:16PM +0200, Gerhard de Clercq wrote:
> > Hi,
> >
> > This was tested only on the fido branch though I don't have a system to
> > test if it still retains gstreamer 1.0 support. The file that was patched
> > is indeed not present in master because from jethro upwards the file
> > becomes very basic because the patch was supposedly merged into upstream
> > Qt. I have not managed to figure out how exactly because it definitely
> > wasn't done as is and I don't really know where to look. I am not sure
> > who did the implementation but I believe that if the old patch was
> > blindly followed then the problem might have moved upstream.
>
> It doesn't apply even in meta-qt5/fido.
>
> > The reason the header is disappearing is because I am recreating the whole
> > patch file from my modified git branch for it is all that I know how to
> > do. I have therefore not actually patched the patch file, just recreated
> > it.
> Did you read:
> http://lists.openembedded.org/pipermail/openembedded-devel/2015-December/104
> 926.html ?
>
> > > On Sat, Dec 05, 2015 at 11:49:02AM +0000, Gerhard de Clercq wrote:
> > > > I have found that the patch applied to qtmultimedia in the Fido branch
> > > > (and probably those before it) that added support for GStreamer 1.0
> > > > broke
> > > > support for GStreamer 0.1 that no-one (except me) actually uses and
> > > > therefore it went unnoticed. In the newer version, the old patch has
> > > > apparently been merged upstream, I'm guessing someone should maybe
> > > > check
> > > > if the errors here are not also present there... This is my first
> > > > mailing
> > > > list patch submission so here's hoping it was done correctly!>
> > > >
> > > > ---
> > > > ...1-Initial-porting-effort-to-GStreamer-1.0.patch | 155
> > > > +++++++-------------- 1 file changed, 48 insertions(+), 107
> > > > deletions(-)
> > > >
> > > > diff --git
> > > > a/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer
> > > > -1.
> > > > 0.patch
> > > > b/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer
> > > > -1.
> > > > 0.patch index e2a46df..3638881 100644
> > > > ---
> > > > a/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer
> > > > -1.
> > > > 0.patch +++
> > > > b/recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer
> > > > -1.
> > > > 0.patch @@ -1,66 +1,3 @@
> > > > -From 8b306a5a70d431b8e142b3a7efb32d897cb79ab5 Mon Sep 17 00:00:00
> > > > 2001
> > > > -From: Yoann Lopes <yoann.lopes at digia.com>
> > > > -Date: Thu, 31 Oct 2013 15:06:30 +0100
> > > > -Subject: [PATCH] Initial porting effort to GStreamer 1.0.
> > >
> > > This headers shouldn't be removed if you use git format-patch.
> > >
> > > Also for which meta-qt5 branch this was tested? It doesn't apply for
> > > master, before applying in fido someone needs to verify if it's needed
> > > in master, jethro (otherwise people upgrading from fido to jethro could
> > > be hit by the same issue).
> > >
> > > Regards,
> > >
> > > > -
> > > > -Imported from git at github.com:jhodapp/qtmultimedia.git
> > > > -
> > > > -Contributions from:
> > > > -Ilya Smelykh <ilya at videoexpertsgroup.com>
> > > > -Jim Hodapp <jim.hodapp at canonical.com>
> > > > -Sergio Schvezov <sergio.schvezov at canonical.com>
> > > > -
> > > > -Change-Id: I10fa5e5078efa4564ce833befd417008e26a90a9
> > > > -Reviewed-by: Yoann Lopes <yoann.lopes at digia.com>
> > > > -(cherry picked from commit d91dac090d92fdbc3a3425e8d969c62e5c79eff9)
> > > > -Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> > > > -
> > > > -Conflicts:
> > > > - src/gsttools/qgstreamervideorenderer.cpp
> > > > - src/gsttools/qgstreamervideowidget.cpp
> > > > - src/gsttools/qgstreamervideowindow.cpp
> > > > - src/plugins/gstreamer/camerabin/camerabinsession.cpp
> > > > - src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
> > > > - src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> > > > ----
> > > > - config.tests/gstreamer/gstreamer.pro | 11 +-
> > > > - config.tests/gstreamer_appsrc/gstreamer_appsrc.pro | 13 +-
> > > > - .../gstreamer_encodingprofiles.pro | 13 +-
> > > > - .../gstreamer_photography.pro | 15 +-
> > > > - qtmultimedia.pro | 25 ++-
> > > > - src/gsttools/gsttools.pro | 22 +--
> > > > - src/gsttools/gstvideoconnector.c | 199
> > > > +++++++++++++++++++-- - src/gsttools/qgstappsrc.cpp
> > > >
> > > > | 29 ++-
> > > >
> > > > - src/gsttools/qgstreameraudioprobecontrol.cpp | 19 +-
> > > > - src/gsttools/qgstreamerbushelper.cpp | 8 +
> > > > - src/gsttools/qgstreamervideoprobecontrol.cpp | 9 +
> > > > - src/gsttools/qgstreamervideorenderer.cpp | 3 +-
> > > > - src/gsttools/qgstreamervideowidget.cpp | 29 ++-
> > > > - src/gsttools/qgstreamervideowindow.cpp | 79 +++++++-
> > > > - src/gsttools/qgstutils.cpp | 27 ++-
> > > > - src/gsttools/qgstvideobuffer.cpp | 18 +-
> > > > - src/gsttools/qvideosurfacegstsink.cpp | 136
> > > > +++++++++++++-
> > > > - src/multimedia/gsttools_headers/qgstappsrc_p.h | 3 +
> > > > - .../qgstreameraudioprobecontrol_p.h | 5 +-
> > > > - .../qgstreamervideoprobecontrol_p.h | 4 +
> > > > - .../gsttools_headers/qgstreamervideowindow_p.h | 4 +
> > > > - src/multimedia/gsttools_headers/qgstutils_p.h | 4 +
> > > > - .../gsttools_headers/qgstvideobuffer_p.h | 3 +
> > > > - .../gsttools_headers/qvideosurfacegstsink_p.h | 6 +-
> > > > - .../qgstreameraudiodecoderserviceplugin.cpp | 27 ++-
> > > > - .../audiodecoder/qgstreameraudiodecodersession.cpp | 33 +++-
> > > > - .../gstreamer/camerabin/camerabinsession.cpp | 25 +++
> > > > - src/plugins/gstreamer/common.pri | 21 ++-
> > > > - src/plugins/gstreamer/gstreamer.pro | 3 +-
> > > > - .../mediacapture/qgstreamercapturesession.cpp | 5 +
> > > > - src/plugins/gstreamer/mediaplayer/mediaplayer.pro | 1 -
> > > > - .../mediaplayer/qgstreamerplayercontrol.cpp | 2 +
> > > > - .../mediaplayer/qgstreamerplayerservice.cpp | 9 +-
> > > > - .../mediaplayer/qgstreamerplayerserviceplugin.cpp | 27 ++-
> > > > - .../mediaplayer/qgstreamerplayersession.cpp | 154
> > > > ++++++++++++++--
> > > > - .../mediaplayer/qgstreamerplayersession.h | 9 +
> > > > - 36 files changed, 871 insertions(+), 129 deletions(-)
> > > > -
> > > >
> > > > diff --git a/config.tests/gstreamer/gstreamer.pro
> > > > b/config.tests/gstreamer/gstreamer.pro index 02a7e34..6b9843a 100644
> > > > --- a/config.tests/gstreamer/gstreamer.pro
> > > >
> > > > @@ -245,7 +182,7 @@ index 7c809a7..6b9bf5d 100644
> > > >
> > > > config_linux_v4l: DEFINES += USE_V4L
> > > >
> > > > diff --git a/src/gsttools/gstvideoconnector.c
> > > > b/src/gsttools/gstvideoconnector.c>
> > > >
> > > > -index 3ed539e..ed0ed3c 100644
> > > > +index 3ed539e..f14e68d 100644
> > > >
> > > > --- a/src/gsttools/gstvideoconnector.c
> > > > +++ b/src/gsttools/gstvideoconnector.c
> > > > @@ -59,26 +59,93 @@ GST_STATIC_PAD_TEMPLATE ("src",
> > > >
> > > > @@ -486,12 +423,15 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > GstVideoConnector *element = GST_VIDEO_CONNECTOR (object);
> > > >
> > > > -@@ -327,16 +456,23 @@ static gboolean
> > > > gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer * +@@
> > > > -327,16 +456,27 @@ static gboolean
> > > > gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer *>
> > > >
> > > > if (element->relinked)
> > > >
> > > > GST_LOG_OBJECT(element, "rejected buffer because of new
> > > > segment
> > > > request");
> > > >
> > > > -- return !element->relinked;
> > > > ++#if GST_CHECK_VERSION(1,0,0)
> > > >
> > > > + return element->relinked ? GST_PAD_PROBE_DROP :
> > > > GST_PAD_PROBE_OK;
> > > >
> > > > ++#else
> > > > + return !element->relinked;
> > > > ++#endif
> > > >
> > > > }
> > > >
> > > > -
> > > >
> > > > @@ -512,7 +452,7 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad));
> > > >
> > > > do {
> > > >
> > > > -@@ -348,20 +484,29 @@ gst_video_connector_chain (GstPad * pad,
> > > > GstBuffer
> > > > * buf) +@@ -348,20 +488,29 @@ gst_video_connector_chain (GstPad * pad,
> > > > GstBuffer * buf)>
> > > >
> > > > */
> > > > while (element->relinked) {
> > > >
> > > > element->relinked = FALSE;
> > > >
> > > > @@ -544,7 +484,7 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > GST_DEBUG_OBJECT (element, "Pushing new segment event");
> > > > if (!gst_pad_push_event (element->srcpad, ev)) {
> > > >
> > > > -@@ -424,8 +569,11 @@ gst_video_connector_change_state (GstElement *
> > > > element, +@@ -424,8 +573,11 @@ gst_video_connector_change_state
> > > > (GstElement * element,>
> > > >
> > > > GstStateChangeReturn result;
> > > >
> > > > connector = GST_VIDEO_CONNECTOR(element);
> > > >
> > > > @@ -557,7 +497,7 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > switch (transition) {
> > > >
> > > > case GST_STATE_CHANGE_PAUSED_TO_READY:
> > > > gst_video_connector_reset (connector);
> > > >
> > > > -@@ -440,9 +588,32 @@ gst_video_connector_change_state (GstElement *
> > > > element, +@@ -440,8 +592,29 @@ gst_video_connector_change_state
> > > > (GstElement * element,>
> > > >
> > > > return result;
> > > >
> > > > }
> > > >
> > > > @@ -587,12 +527,9 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > +static gboolean gst_video_connector_handle_sink_event (GstPad * pad,
> > > > + GstEvent *
> > > > event)
> > > >
> > > > {
> > > >
> > > > -+ (void)parent;
> > > > -+
> > > >
> > > > if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) {
> > > >
> > > > GstVideoConnector *element = GST_VIDEO_CONNECTOR
> > > > (gst_pad_get_parent (pad));>
> > > >
> > > > -
> > > > -@@ -453,7 +624,6 @@ gst_video_connector_handle_sink_event (GstPad *
> > > > pad,
> > > > GstEvent * event) +@@ -453,7 +626,6 @@
> > > > gst_video_connector_handle_sink_event (GstPad * pad, GstEvent *
> > > > event)>
> > > >
> > > > gst_event_parse_new_segment_full (event, &update, &rate,
> > > > &arate,
> > > > &format,
> > > >
> > > > &start, &stop, &time);
> > > >
> > > > @@ -600,7 +537,7 @@ index 3ed539e..ed0ed3c 100644
> > > >
> > > > GST_LOG_OBJECT (element,
> > > >
> > > > "NEWSEGMENT update %d, rate %lf, applied
> > > > rate
> > > > %lf, "
> > > > "format %d, " "%" G_GINT64_FORMAT " -- %"
> > > > G_GINT64_FORMAT ", time %"
> > > >
> > > > -@@ -461,9 +631,10 @@ gst_video_connector_handle_sink_event (GstPad *
> > > > pad,
> > > > GstEvent * event) +@@ -461,9 +633,10 @@
> > > > gst_video_connector_handle_sink_event (GstPad * pad, GstEvent *
> > > > event)>
> > > >
> > > > gst_segment_set_newsegment_full (&element->segment, update,
> > > >
> > > > rate, arate, format, start,
> > > > stop, time);
> > > >
> > > > @@ -666,10 +603,10 @@ index 561a96f..d5e106f 100644
> > > >
> > > > } else {
> > > >
> > > > sendEOS();
> > > >
> > > > diff --git a/src/gsttools/qgstreameraudioprobecontrol.cpp
> > > > b/src/gsttools/qgstreameraudioprobecontrol.cpp>
> > > >
> > > > -index 3baca53..be3de3f 100644
> > > > +index 3baca53..497fafe 100644
> > > >
> > > > --- a/src/gsttools/qgstreameraudioprobecontrol.cpp
> > > > +++ b/src/gsttools/qgstreameraudioprobecontrol.cpp
> > > >
> > > > -@@ -45,9 +45,14 @@
> > > > QGstreamerAudioProbeControl::~QGstreamerAudioProbeControl() +@@ -45,9
> > > > +45,15 @@ QGstreamerAudioProbeControl::~QGstreamerAudioProbeControl()>
> > > >
> > > > }
> > > >
> > > > @@ -679,13 +616,13 @@ index 3baca53..be3de3f 100644
> > > >
> > > > +#else
> > > >
> > > > void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer)
> > > > {
> > > >
> > > > -- GstCaps* caps = gst_buffer_get_caps(buffer);
> > > >
> > > > + gst_buffer_get_caps(buffer);
> > > >
> > > > + GstCaps* caps = gst_buffer_get_caps(buffer);
> > > >
> > > > +#endif
> > > >
> > > > if (!caps)
> > > >
> > > > return;
> > > >
> > > > -@@ -56,8 +61,20 @@ void
> > > > QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer) +@@ -56,8
> > > > +62,20 @@ void QGstreamerAudioProbeControl::bufferProbed(GstBuffer*
> > > > buffer)>
> > > >
> > > > if (!format.isValid())
> > > >
> > > > return;
> > > >
> > > > @@ -851,23 +788,24 @@ index b26369a..23674bb 100644
> > > >
> > > > QWidget *QGstreamerVideoWidgetControl::videoWidget()
> > > >
> > > > diff --git a/src/gsttools/qgstreamervideowindow.cpp
> > > > b/src/gsttools/qgstreamervideowindow.cpp>
> > > >
> > > > -index a373dcc..587b010 100644
> > > > +index a373dcc..4b08332 100644
> > > >
> > > > --- a/src/gsttools/qgstreamervideowindow.cpp
> > > > +++ b/src/gsttools/qgstreamervideowindow.cpp
> > > >
> > > > -@@ -37,8 +37,12 @@
> > > > +@@ -37,8 +37,13 @@
> > > >
> > > > #include <QtCore/qdebug.h>
> > > >
> > > > #include <gst/gst.h>
> > > >
> > > > -+#include <gst/video/videooverlay.h>
> > > >
> > > > +
> > > > +#if !GST_CHECK_VERSION(1,0,0)
> > > >
> > > > #include <gst/interfaces/xoverlay.h>
> > > > #include <gst/interfaces/propertyprobe.h>
> > > >
> > > > ++#else
> > > > ++#include <gst/video/videooverlay.h>
> > > >
> > > > +#endif
> > > >
> > > > QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const
> > > > char
> > > > *elementName)>
> > > >
> > > > -@@ -49,18 +53,25 @@
> > > > QGstreamerVideoWindow::QGstreamerVideoWindow(QObject
> > > > *parent, const char *elemen +@@ -49,18 +54,25 @@
> > > > QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const
> > > > char
> > > > *elemen>
> > > >
> > > > , m_fullScreen(false)
> > > > , m_colorKey(QColor::Invalid)
> > > >
> > > > {
> > > >
> > > > @@ -895,7 +833,7 @@ index a373dcc..587b010 100644
> > > >
> > > > }
> > > >
> > > > QGstreamerVideoWindow::~QGstreamerVideoWindow()
> > > >
> > > > -@@ -82,11 +93,15 @@ void QGstreamerVideoWindow::setWinId(WId id)
> > > > +@@ -82,11 +94,15 @@ void QGstreamerVideoWindow::setWinId(WId id)
> > > >
> > > > WId oldId = m_windowId;
> > > >
> > > > m_windowId = id;
> > > >
> > > > @@ -913,7 +851,7 @@ index a373dcc..587b010 100644
> > > >
> > > > if (!oldId)
> > > >
> > > > emit readyChanged(true);
> > > >
> > > > -@@ -97,7 +112,20 @@ void QGstreamerVideoWindow::setWinId(WId id)
> > > > +@@ -97,7 +113,20 @@ void QGstreamerVideoWindow::setWinId(WId id)
> > > >
> > > > bool QGstreamerVideoWindow::processSyncMessage(const
> > > > QGstreamerMessage
> > > > &message) {
> > > >
> > > > GstMessage* gm = message.rawMessage();
> > > >
> > > > @@ -934,7 +872,7 @@ index a373dcc..587b010 100644
> > > >
> > > > if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
> > > >
> > > > gst_structure_has_name(gm->structure,
> > > > "prepare-xwindow-id")
> > > > &&
> > > > m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
> > > >
> > > > -@@ -110,7 +138,7 @@ bool
> > > > QGstreamerVideoWindow::processSyncMessage(const
> > > > QGstreamerMessage &message) +@@ -110,7 +139,7 @@ bool
> > > > QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage
> > > > &message)>
> > > >
> > > > return true;
> > > >
> > > > }
> > > >
> > > > @@ -943,7 +881,7 @@ index a373dcc..587b010 100644
> > > >
> > > > return false;
> > > >
> > > > }
> > > >
> > > > -@@ -122,7 +150,19 @@ QRect QGstreamerVideoWindow::displayRect() const
> > > > +@@ -122,7 +151,19 @@ QRect QGstreamerVideoWindow::displayRect() const
> > > >
> > > > void QGstreamerVideoWindow::setDisplayRect(const QRect &rect)
> > > > {
> > > >
> > > > m_displayRect = rect;
> > > >
> > > > @@ -964,7 +902,7 @@ index a373dcc..587b010 100644
> > > >
> > > > if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
> > > >
> > > > #if GST_VERSION_MICRO >= 29
> > > >
> > > > if (m_displayRect.isEmpty())
> > > >
> > > > -@@ -136,6 +176,7 @@ void QGstreamerVideoWindow::setDisplayRect(const
> > > > QRect &rect) +@@ -136,6 +177,7 @@ void
> > > > QGstreamerVideoWindow::setDisplayRect(const QRect &rect)>
> > > >
> > > > repaint();
> > > >
> > > > #endif
> > > >
> > > > }
> > > >
> > > > @@ -972,7 +910,7 @@ index a373dcc..587b010 100644
> > > >
> > > > }
> > > >
> > > > Qt::AspectRatioMode QGstreamerVideoWindow::aspectRatioMode() const
> > > >
> > > > -@@ -157,6 +198,16 @@ void
> > > > QGstreamerVideoWindow::setAspectRatioMode(Qt::AspectRatioMode mode)
> > > > +@@
> > > > -157,6 +199,16 @@ void
> > > > QGstreamerVideoWindow::setAspectRatioMode(Qt::AspectRatioMode mode)>
> > > >
> > > > void QGstreamerVideoWindow::repaint()
> > > > {
> > > >
> > > > @@ -989,7 +927,7 @@ index a373dcc..587b010 100644
> > > >
> > > > if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
> > > >
> > > > //don't call gst_x_overlay_expose if the sink is in null
> > > > state
> > > > GstState state = GST_STATE_NULL;
> > > >
> > > > -@@ -165,6 +216,7 @@ void QGstreamerVideoWindow::repaint()
> > > > +@@ -165,6 +217,7 @@ void QGstreamerVideoWindow::repaint()
> > > >
> > > > gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink));
> > > >
> > > > }
> > > >
> > > > }
> > > >
> > > > @@ -997,7 +935,7 @@ index a373dcc..587b010 100644
> > > >
> > > > }
> > > >
> > > > QColor QGstreamerVideoWindow::colorKey() const
> > > >
> > > > -@@ -296,11 +348,22 @@ QSize QGstreamerVideoWindow::nativeSize() const
> > > > +@@ -296,11 +349,22 @@ QSize QGstreamerVideoWindow::nativeSize() const
> > > >
> > > > return m_nativeSize;
> > > >
> > > > }
> > > >
> > > > @@ -1020,7 +958,7 @@ index a373dcc..587b010 100644
> > > >
> > > > }
> > > >
> > > > void QGstreamerVideoWindow::updateNativeVideoSize()
> > > >
> > > > -@@ -311,7 +374,11 @@ void
> > > > QGstreamerVideoWindow::updateNativeVideoSize()
> > > > +@@ -311,7 +375,11 @@ void
> > > > QGstreamerVideoWindow::updateNativeVideoSize()
> > > >
> > > > if (m_videoSink) {
> > > >
> > > > //find video native size to update video widget size hint
> > > > GstPad *pad =
> > > > gst_element_get_static_pad(m_videoSink,"sink");
> > > >
> > > > @@ -1561,10 +1499,10 @@ index 11b305d..01935f7 100644
> > > >
> > > > static GstFlowReturn buffer_alloc(
> > > >
> > > > diff --git
> > > > a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplu
> > > > gin
> > > > .cpp
> > > > b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplu
> > > > gin
> > > > .cpp>
> > > >
> > > > -index 3098aab..9c54663 100644
> > > > +index 3098aab..6aa8c89 100644
> > > >
> > > > ---
> > > > a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplu
> > > > gin
> > > > .cpp +++
> > > > b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplu
> > > > gin
> > > > .cpp>
> > > >
> > > > -@@ -74,29 +74,42 @@ void
> > > > QGstreamerAudioDecoderServicePlugin::updateSupportedMimeTypes() const
> > > > +@@
> > > > -74,29 +74,46 @@ void
> > > > QGstreamerAudioDecoderServicePlugin::updateSupportedMimeTypes() const>
> > > >
> > > > gst_init(NULL, NULL);
> > > >
> > > > GList *plugins, *orig_plugins;
> > > >
> > > > @@ -1583,14 +1521,17 @@ index 3098aab..9c54663 100644
> > > >
> > > > +#if GST_CHECK_VERSION(1,0,0)
> > > > + if (GST_OBJECT_FLAG_IS_SET(plugin,
> > > > GST_PLUGIN_FLAG_BLACKLISTED))
> > > > + continue;
> > > >
> > > > ++
> > > > ++ GstRegistry *registry = gst_registry_get();
> > > >
> > > > +#else
> > > >
> > > > if (plugin->flags & (1<<1)) //GST_PLUGIN_FLAG_BLACKLISTED
> > > >
> > > > continue;
> > > >
> > > > --
> > > > +
> > > >
> > > > - orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(gst_registry_get_default (),
> > > > -
> > > >
> > > > plugin->desc.name);>
> > > >
> > > > ++ GstRegistry *registry = gst_registry_get_default();
> > > >
> > > > +#endif
> > > >
> > > > -+ orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(gst_registry_get (), ++
> > > > orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(registry,>
> > > >
> > > > +
> > > > gst_plugin_get_name(plugin));>
> > > >
> > > > while (features) {
> > > >
> > > > if (!G_UNLIKELY(features->data == NULL)) {
> > > >
> > > > @@ -1889,7 +1830,7 @@ index ddc828e..00bee36 100644
> > > >
> > > > m_videoRenderer = new QGstreamerVideoRenderer(this);
> > > >
> > > > #endif
> > > >
> > > > diff --git
> > > > a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
> > > > b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
> > > > >
> > > >
> > > > -index 7d20b6d..bf2f9f8 100644
> > > > +index 7d20b6d..ea804af 100644
> > > >
> > > > ---
> > > > a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cp
> > > > p
> > > > +++
> > > > b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cp
> > > > p
> > > > @@ -87,7 +87,11 @@ void
> > > > QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const>
> > > >
> > > > @@ -1904,21 +1845,25 @@ index 7d20b6d..bf2f9f8 100644
> > > >
> > > > while (plugins) {
> > > >
> > > > GList *features, *orig_features;
> > > >
> > > > -@@ -95,22 +99,33 @@ void
> > > > QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const +@@
> > > > -95,22 +99,37 @@ void
> > > > QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const>
> > > >
> > > > GstPlugin *plugin = (GstPlugin *) (plugins->data);
> > > > plugins = g_list_next (plugins);
> > > >
> > > > +#if GST_CHECK_VERSION(1,0,0)
> > > > + if (GST_OBJECT_FLAG_IS_SET(plugin,
> > > > GST_PLUGIN_FLAG_BLACKLISTED))
> > > >
> > > > -+ continue;
> > > > ++ continue;
> > > > ++
> > > > ++ GstRegistry *registry = gst_registry_get();
> > > >
> > > > +#else
> > > >
> > > > if (plugin->flags & (1<<1)) //GST_PLUGIN_FLAG_BLACKLISTED
> > > >
> > > > continue;
> > > >
> > > > -+#endif
> > > >
> > > > - orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(gst_registry_get_default (),
> > > > -
> > > >
> > > > plugin->desc.name);>
> > > >
> > > > -+ orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(gst_registry_get(), ++
> > > > GstRegistry *registry = gst_registry_get_default();
> > > > ++#endif
> > > > ++
> > > > ++ orig_features = features =
> > > > gst_registry_get_feature_list_by_plugin(registry,>
> > > >
> > > > +
> > > >
> > > > gst_plugin_get_name(plugin));>
> > > >
> > > > while (features) {
> > > >
> > > > if (!G_UNLIKELY(features->data == NULL)) {
> > > >
> > > > @@ -1945,7 +1890,7 @@ index 7d20b6d..bf2f9f8 100644
> > > >
> > > > GstStaticPadTemplate *padtemplate =
> > > > (GstStaticPadTemplate*)(pads->data);
> > > > pads = g_list_next (pads);
> > > >
> > > > diff --git
> > > > a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> > > > b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp>
> > > >
> > > > -index 15924a6..8013d0d 100644
> > > > +index 15924a6..f77220a 100644
> > > >
> > > > --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> > > > +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> > > > @@ -85,6 +85,16 @@ typedef enum {
> > > >
> > > > @@ -2204,11 +2149,10 @@ index 15924a6..8013d0d 100644
> > > >
> > > > }
> > > >
> > > > //listen for queue2 element added to uridecodebin/decodebin2
> > > > as
> > > > well.
> > > >
> > > > -@@ -1727,7 +1798,27 @@ void
> > > > QGstreamerPlayerSession::removeProbe(QGstreamerVideoProbeControl*
> > > > probe)
> > > > +@@ -1727,6 +1798,26 @@ void
> > > > QGstreamerPlayerSession::removeProbe(QGstreamerVideoProbeControl*
> > > > probe)>
> > > >
> > > > // Assume user releases any outstanding references to video
> > > > frames.
> > > >
> > > > }
> > > >
> > > > --gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad,
> > > > GstBuffer *buffer, gpointer user_data)>
> > > >
> > > > +#if GST_CHECK_VERSION(1,0,0)
> > > > +GstPadProbeReturn
> > > > QGstreamerPlayerSession::padVideoBufferProbe(GstPad
> > > > *pad, GstPadProbeInfo *info, gpointer user_data) +{
> > > >
> > > > @@ -2229,10 +2173,9 @@ index 15924a6..8013d0d 100644
> > > >
> > > > +
> > > > +#else
> > > > +
> > > >
> > > > -+static gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad
> > > > *pad, GstBuffer *buffer, gpointer user_data) + gboolean
> > > > QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer
> > > > *buffer, gpointer user_data)>
> > > >
> > > > {
> > > >
> > > > Q_UNUSED(pad);
> > > >
> > > > -
> > > >
> > > > @@ -1742,6 +1833,7 @@ gboolean
> > > > QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer
> > > > *bu>
> > > >
> > > > return TRUE;
> > > >
> > > > @@ -2364,6 +2307,4 @@ index f2e760a..50bda3d 100644
> > > >
> > > > };
> > > >
> > > > QT_END_NAMESPACE
> > > >
> > > > ---
> > > > -2.3.5
More information about the Openembedded-devel
mailing list