diff options
author | Jonathan Liu <net147@gmail.com> | 2014-12-11 15:52:18 +1100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-12-11 13:24:22 +0100 |
commit | 6566f728ab3d14a4908516fb13ad555dbfe04471 (patch) | |
tree | d73319dd12e71d434c01b25d04f9b5c84a5c83cc /recipes-qt/qt5/qtmultimedia | |
parent | c9a1041cb956d94c04cbf635b00ca19725ffc129 (diff) | |
download | meta-qt5-6566f728ab3d14a4908516fb13ad555dbfe04471.tar.gz |
recipes: upgrade from 5.3.2 to 5.4.0
MJ: nativesdk-qtbase, nativesdk-qttools, qtbase-native: Drop unnecessary LICENSE/LIC_FILES_CHKSUM
MJ: qtwebkit: move leveldb dependency to .inc
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Jonathan Liu <net147@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtmultimedia')
-rw-r--r-- | recipes-qt/qt5/qtmultimedia/0001-Initial-porting-effort-to-GStreamer-1.0.patch | 316 | ||||
-rw-r--r-- | recipes-qt/qt5/qtmultimedia/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch | 4 |
2 files changed, 154 insertions, 166 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 c32ddaf0..ab819f26 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,4 +1,4 @@ | |||
1 | From f8e3c6be700907a597ae706afeec14e26103b31e Mon Sep 17 00:00:00 2001 | 1 | From 4af76880d63e8d392eb8add8b8999e3f5031675a Mon Sep 17 00:00:00 2001 |
2 | From: Yoann Lopes <yoann.lopes@digia.com> | 2 | From: Yoann Lopes <yoann.lopes@digia.com> |
3 | Date: Thu, 31 Oct 2013 15:06:30 +0100 | 3 | Date: Thu, 31 Oct 2013 15:06:30 +0100 |
4 | Subject: [PATCH 1/2] Initial porting effort to GStreamer 1.0. | 4 | Subject: [PATCH 1/2] Initial porting effort to GStreamer 1.0. |
@@ -38,7 +38,7 @@ Conflicts: | |||
38 | src/gsttools/qgstreamervideowindow.cpp | 79 +++++++- | 38 | src/gsttools/qgstreamervideowindow.cpp | 79 +++++++- |
39 | src/gsttools/qgstutils.cpp | 27 ++- | 39 | src/gsttools/qgstutils.cpp | 27 ++- |
40 | src/gsttools/qgstvideobuffer.cpp | 18 +- | 40 | src/gsttools/qgstvideobuffer.cpp | 18 +- |
41 | src/gsttools/qvideosurfacegstsink.cpp | 143 +++++++++++++-- | 41 | src/gsttools/qvideosurfacegstsink.cpp | 138 +++++++++++++- |
42 | src/multimedia/gsttools_headers/qgstappsrc_p.h | 3 + | 42 | src/multimedia/gsttools_headers/qgstappsrc_p.h | 3 + |
43 | .../qgstreameraudioprobecontrol_p.h | 5 +- | 43 | .../qgstreameraudioprobecontrol_p.h | 5 +- |
44 | .../qgstreamervideoprobecontrol_p.h | 4 + | 44 | .../qgstreamervideoprobecontrol_p.h | 4 + |
@@ -58,7 +58,7 @@ Conflicts: | |||
58 | .../mediaplayer/qgstreamerplayerserviceplugin.cpp | 27 ++- | 58 | .../mediaplayer/qgstreamerplayerserviceplugin.cpp | 27 ++- |
59 | .../mediaplayer/qgstreamerplayersession.cpp | 154 ++++++++++++++-- | 59 | .../mediaplayer/qgstreamerplayersession.cpp | 154 ++++++++++++++-- |
60 | .../mediaplayer/qgstreamerplayersession.h | 9 + | 60 | .../mediaplayer/qgstreamerplayersession.h | 9 + |
61 | 36 files changed, 875 insertions(+), 132 deletions(-) | 61 | 36 files changed, 872 insertions(+), 130 deletions(-) |
62 | 62 | ||
63 | diff --git a/config.tests/gstreamer/gstreamer.pro b/config.tests/gstreamer/gstreamer.pro | 63 | diff --git a/config.tests/gstreamer/gstreamer.pro b/config.tests/gstreamer/gstreamer.pro |
64 | index 02a7e34..6b9843a 100644 | 64 | index 02a7e34..6b9843a 100644 |
@@ -244,10 +244,10 @@ index 7c809a7..6b9bf5d 100644 | |||
244 | 244 | ||
245 | config_linux_v4l: DEFINES += USE_V4L | 245 | config_linux_v4l: DEFINES += USE_V4L |
246 | diff --git a/src/gsttools/gstvideoconnector.c b/src/gsttools/gstvideoconnector.c | 246 | diff --git a/src/gsttools/gstvideoconnector.c b/src/gsttools/gstvideoconnector.c |
247 | index 3e08fe5..ff3f9a3 100644 | 247 | index 3ed539e..ed0ed3c 100644 |
248 | --- a/src/gsttools/gstvideoconnector.c | 248 | --- a/src/gsttools/gstvideoconnector.c |
249 | +++ b/src/gsttools/gstvideoconnector.c | 249 | +++ b/src/gsttools/gstvideoconnector.c |
250 | @@ -67,26 +67,93 @@ GST_STATIC_PAD_TEMPLATE ("src", | 250 | @@ -59,26 +59,93 @@ GST_STATIC_PAD_TEMPLATE ("src", |
251 | GST_PAD_ALWAYS, | 251 | GST_PAD_ALWAYS, |
252 | GST_STATIC_CAPS_ANY); | 252 | GST_STATIC_CAPS_ANY); |
253 | 253 | ||
@@ -342,7 +342,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
342 | 342 | ||
343 | static void | 343 | static void |
344 | gst_video_connector_base_init (gpointer g_class) | 344 | gst_video_connector_base_init (gpointer g_class) |
345 | @@ -128,18 +195,33 @@ gst_video_connector_class_init (GstVideoConnectorClass * klass) | 345 | @@ -120,18 +187,33 @@ gst_video_connector_class_init (GstVideoConnectorClass * klass) |
346 | g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); | 346 | g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); |
347 | } | 347 | } |
348 | 348 | ||
@@ -378,7 +378,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
378 | gst_pad_set_bufferalloc_function(element->sinkpad, | 378 | gst_pad_set_bufferalloc_function(element->sinkpad, |
379 | GST_DEBUG_FUNCPTR (gst_video_connector_buffer_alloc)); | 379 | GST_DEBUG_FUNCPTR (gst_video_connector_buffer_alloc)); |
380 | gst_pad_set_setcaps_function(element->sinkpad, | 380 | gst_pad_set_setcaps_function(element->sinkpad, |
381 | @@ -148,14 +230,23 @@ gst_video_connector_init (GstVideoConnector *element, | 381 | @@ -140,14 +222,23 @@ gst_video_connector_init (GstVideoConnector *element, |
382 | GST_DEBUG_FUNCPTR(gst_video_connector_getcaps)); | 382 | GST_DEBUG_FUNCPTR(gst_video_connector_getcaps)); |
383 | gst_pad_set_acceptcaps_function(element->sinkpad, | 383 | gst_pad_set_acceptcaps_function(element->sinkpad, |
384 | GST_DEBUG_FUNCPTR(gst_video_connector_acceptcaps)); | 384 | GST_DEBUG_FUNCPTR(gst_video_connector_acceptcaps)); |
@@ -403,7 +403,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
403 | gst_element_add_pad (GST_ELEMENT (element), element->srcpad); | 403 | gst_element_add_pad (GST_ELEMENT (element), element->srcpad); |
404 | 404 | ||
405 | element->relinked = FALSE; | 405 | element->relinked = FALSE; |
406 | @@ -183,9 +274,16 @@ gst_video_connector_dispose (GObject * object) | 406 | @@ -175,9 +266,16 @@ gst_video_connector_dispose (GObject * object) |
407 | 407 | ||
408 | gst_video_connector_reset (element); | 408 | gst_video_connector_reset (element); |
409 | 409 | ||
@@ -420,7 +420,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
420 | // "When this function returns anything else than GST_FLOW_OK, | 420 | // "When this function returns anything else than GST_FLOW_OK, |
421 | // the buffer allocation failed and buf does not contain valid data." | 421 | // the buffer allocation failed and buf does not contain valid data." |
422 | static GstFlowReturn | 422 | static GstFlowReturn |
423 | @@ -229,6 +327,7 @@ gst_video_connector_buffer_alloc (GstPad * pad, guint64 offset, guint size, | 423 | @@ -221,6 +319,7 @@ gst_video_connector_buffer_alloc (GstPad * pad, guint64 offset, guint size, |
424 | if (state == GST_STATE_NULL) { | 424 | if (state == GST_STATE_NULL) { |
425 | GST_DEBUG_OBJECT (element, "Downstream element is in NULL state"); | 425 | GST_DEBUG_OBJECT (element, "Downstream element is in NULL state"); |
426 | // Downstream filter seems to be in the wrong state | 426 | // Downstream filter seems to be in the wrong state |
@@ -428,7 +428,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
428 | return GST_FLOW_UNEXPECTED; | 428 | return GST_FLOW_UNEXPECTED; |
429 | } | 429 | } |
430 | } | 430 | } |
431 | @@ -301,6 +400,7 @@ static GstCaps *gst_video_connector_getcaps (GstPad * pad) | 431 | @@ -293,6 +392,7 @@ static GstCaps *gst_video_connector_getcaps (GstPad * pad) |
432 | return caps; | 432 | return caps; |
433 | } | 433 | } |
434 | 434 | ||
@@ -436,7 +436,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
436 | static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps) | 436 | static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps) |
437 | { | 437 | { |
438 | GstVideoConnector *element; | 438 | GstVideoConnector *element; |
439 | @@ -308,6 +408,7 @@ static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps) | 439 | @@ -300,6 +400,7 @@ static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps) |
440 | 440 | ||
441 | return gst_pad_peer_accept_caps(element->srcpad, caps); | 441 | return gst_pad_peer_accept_caps(element->srcpad, caps); |
442 | } | 442 | } |
@@ -444,7 +444,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
444 | 444 | ||
445 | static void | 445 | static void |
446 | gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailedSignal) | 446 | gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailedSignal) |
447 | @@ -319,11 +420,39 @@ gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailed | 447 | @@ -311,11 +412,39 @@ gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailed |
448 | connector->failedSignalEmited = FALSE; | 448 | connector->failedSignalEmited = FALSE; |
449 | } | 449 | } |
450 | 450 | ||
@@ -485,7 +485,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
485 | 485 | ||
486 | GstVideoConnector *element = GST_VIDEO_CONNECTOR (object); | 486 | GstVideoConnector *element = GST_VIDEO_CONNECTOR (object); |
487 | 487 | ||
488 | @@ -335,16 +464,23 @@ static gboolean gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer * | 488 | @@ -327,16 +456,23 @@ static gboolean gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer * |
489 | if (element->relinked) | 489 | if (element->relinked) |
490 | GST_LOG_OBJECT(element, "rejected buffer because of new segment request"); | 490 | GST_LOG_OBJECT(element, "rejected buffer because of new segment request"); |
491 | 491 | ||
@@ -511,7 +511,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
511 | element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad)); | 511 | element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad)); |
512 | 512 | ||
513 | do { | 513 | do { |
514 | @@ -356,20 +492,29 @@ gst_video_connector_chain (GstPad * pad, GstBuffer * buf) | 514 | @@ -348,20 +484,29 @@ gst_video_connector_chain (GstPad * pad, GstBuffer * buf) |
515 | */ | 515 | */ |
516 | while (element->relinked) { | 516 | while (element->relinked) { |
517 | element->relinked = FALSE; | 517 | element->relinked = FALSE; |
@@ -543,7 +543,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
543 | 543 | ||
544 | GST_DEBUG_OBJECT (element, "Pushing new segment event"); | 544 | GST_DEBUG_OBJECT (element, "Pushing new segment event"); |
545 | if (!gst_pad_push_event (element->srcpad, ev)) { | 545 | if (!gst_pad_push_event (element->srcpad, ev)) { |
546 | @@ -432,8 +577,11 @@ gst_video_connector_change_state (GstElement * element, | 546 | @@ -424,8 +569,11 @@ gst_video_connector_change_state (GstElement * element, |
547 | GstStateChangeReturn result; | 547 | GstStateChangeReturn result; |
548 | 548 | ||
549 | connector = GST_VIDEO_CONNECTOR(element); | 549 | connector = GST_VIDEO_CONNECTOR(element); |
@@ -556,7 +556,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
556 | switch (transition) { | 556 | switch (transition) { |
557 | case GST_STATE_CHANGE_PAUSED_TO_READY: | 557 | case GST_STATE_CHANGE_PAUSED_TO_READY: |
558 | gst_video_connector_reset (connector); | 558 | gst_video_connector_reset (connector); |
559 | @@ -448,9 +596,32 @@ gst_video_connector_change_state (GstElement * element, | 559 | @@ -440,9 +588,32 @@ gst_video_connector_change_state (GstElement * element, |
560 | return result; | 560 | return result; |
561 | } | 561 | } |
562 | 562 | ||
@@ -591,7 +591,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
591 | if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) { | 591 | if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) { |
592 | GstVideoConnector *element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad)); | 592 | GstVideoConnector *element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad)); |
593 | 593 | ||
594 | @@ -461,7 +632,6 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event) | 594 | @@ -453,7 +624,6 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event) |
595 | 595 | ||
596 | gst_event_parse_new_segment_full (event, &update, &rate, &arate, &format, | 596 | gst_event_parse_new_segment_full (event, &update, &rate, &arate, &format, |
597 | &start, &stop, &time); | 597 | &start, &stop, &time); |
@@ -599,7 +599,7 @@ index 3e08fe5..ff3f9a3 100644 | |||
599 | GST_LOG_OBJECT (element, | 599 | GST_LOG_OBJECT (element, |
600 | "NEWSEGMENT update %d, rate %lf, applied rate %lf, " | 600 | "NEWSEGMENT update %d, rate %lf, applied rate %lf, " |
601 | "format %d, " "%" G_GINT64_FORMAT " -- %" G_GINT64_FORMAT ", time %" | 601 | "format %d, " "%" G_GINT64_FORMAT " -- %" G_GINT64_FORMAT ", time %" |
602 | @@ -469,9 +639,10 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event) | 602 | @@ -461,9 +631,10 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event) |
603 | 603 | ||
604 | gst_segment_set_newsegment_full (&element->segment, update, | 604 | gst_segment_set_newsegment_full (&element->segment, update, |
605 | rate, arate, format, start, stop, time); | 605 | rate, arate, format, start, stop, time); |
@@ -612,10 +612,10 @@ index 3e08fe5..ff3f9a3 100644 | |||
612 | + | 612 | + |
613 | +#endif | 613 | +#endif |
614 | diff --git a/src/gsttools/qgstappsrc.cpp b/src/gsttools/qgstappsrc.cpp | 614 | diff --git a/src/gsttools/qgstappsrc.cpp b/src/gsttools/qgstappsrc.cpp |
615 | index 2c9f64c..7916d89 100644 | 615 | index 561a96f..d5e106f 100644 |
616 | --- a/src/gsttools/qgstappsrc.cpp | 616 | --- a/src/gsttools/qgstappsrc.cpp |
617 | +++ b/src/gsttools/qgstappsrc.cpp | 617 | +++ b/src/gsttools/qgstappsrc.cpp |
618 | @@ -155,23 +155,44 @@ void QGstAppSrc::pushDataToAppSrc() | 618 | @@ -147,23 +147,44 @@ void QGstAppSrc::pushDataToAppSrc() |
619 | size = qMin(m_stream->bytesAvailable(), (qint64)m_dataRequestSize); | 619 | size = qMin(m_stream->bytesAvailable(), (qint64)m_dataRequestSize); |
620 | 620 | ||
621 | if (size) { | 621 | if (size) { |
@@ -665,10 +665,10 @@ index 2c9f64c..7916d89 100644 | |||
665 | } else { | 665 | } else { |
666 | sendEOS(); | 666 | sendEOS(); |
667 | diff --git a/src/gsttools/qgstreameraudioprobecontrol.cpp b/src/gsttools/qgstreameraudioprobecontrol.cpp | 667 | diff --git a/src/gsttools/qgstreameraudioprobecontrol.cpp b/src/gsttools/qgstreameraudioprobecontrol.cpp |
668 | index 94d07c9..8c85973 100644 | 668 | index 3baca53..be3de3f 100644 |
669 | --- a/src/gsttools/qgstreameraudioprobecontrol.cpp | 669 | --- a/src/gsttools/qgstreameraudioprobecontrol.cpp |
670 | +++ b/src/gsttools/qgstreameraudioprobecontrol.cpp | 670 | +++ b/src/gsttools/qgstreameraudioprobecontrol.cpp |
671 | @@ -53,9 +53,14 @@ QGstreamerAudioProbeControl::~QGstreamerAudioProbeControl() | 671 | @@ -45,9 +45,14 @@ QGstreamerAudioProbeControl::~QGstreamerAudioProbeControl() |
672 | 672 | ||
673 | } | 673 | } |
674 | 674 | ||
@@ -684,7 +684,7 @@ index 94d07c9..8c85973 100644 | |||
684 | if (!caps) | 684 | if (!caps) |
685 | return; | 685 | return; |
686 | 686 | ||
687 | @@ -64,8 +69,20 @@ void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer) | 687 | @@ -56,8 +61,20 @@ void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer) |
688 | if (!format.isValid()) | 688 | if (!format.isValid()) |
689 | return; | 689 | return; |
690 | 690 | ||
@@ -706,10 +706,10 @@ index 94d07c9..8c85973 100644 | |||
706 | QMutexLocker locker(&m_bufferMutex); | 706 | QMutexLocker locker(&m_bufferMutex); |
707 | m_pendingBuffer = audioBuffer; | 707 | m_pendingBuffer = audioBuffer; |
708 | diff --git a/src/gsttools/qgstreamerbushelper.cpp b/src/gsttools/qgstreamerbushelper.cpp | 708 | diff --git a/src/gsttools/qgstreamerbushelper.cpp b/src/gsttools/qgstreamerbushelper.cpp |
709 | index da7506e..6b4cdd2 100644 | 709 | index 84eda46..eb1fc36 100644 |
710 | --- a/src/gsttools/qgstreamerbushelper.cpp | 710 | --- a/src/gsttools/qgstreamerbushelper.cpp |
711 | +++ b/src/gsttools/qgstreamerbushelper.cpp | 711 | +++ b/src/gsttools/qgstreamerbushelper.cpp |
712 | @@ -162,13 +162,21 @@ QGstreamerBusHelper::QGstreamerBusHelper(GstBus* bus, QObject* parent): | 712 | @@ -154,13 +154,21 @@ QGstreamerBusHelper::QGstreamerBusHelper(GstBus* bus, QObject* parent): |
713 | QObject(parent) | 713 | QObject(parent) |
714 | { | 714 | { |
715 | d = new QGstreamerBusHelperPrivate(this, bus); | 715 | d = new QGstreamerBusHelperPrivate(this, bus); |
@@ -732,10 +732,10 @@ index da7506e..6b4cdd2 100644 | |||
732 | } | 732 | } |
733 | 733 | ||
734 | diff --git a/src/gsttools/qgstreamervideoprobecontrol.cpp b/src/gsttools/qgstreamervideoprobecontrol.cpp | 734 | diff --git a/src/gsttools/qgstreamervideoprobecontrol.cpp b/src/gsttools/qgstreamervideoprobecontrol.cpp |
735 | index f2e6c3f..55632ff 100644 | 735 | index a78a9da..9c31140 100644 |
736 | --- a/src/gsttools/qgstreamervideoprobecontrol.cpp | 736 | --- a/src/gsttools/qgstreamervideoprobecontrol.cpp |
737 | +++ b/src/gsttools/qgstreamervideoprobecontrol.cpp | 737 | +++ b/src/gsttools/qgstreamervideoprobecontrol.cpp |
738 | @@ -75,12 +75,21 @@ void QGstreamerVideoProbeControl::stopFlushing() | 738 | @@ -67,12 +67,21 @@ void QGstreamerVideoProbeControl::stopFlushing() |
739 | m_flushing = false; | 739 | m_flushing = false; |
740 | } | 740 | } |
741 | 741 | ||
@@ -758,10 +758,10 @@ index f2e6c3f..55632ff 100644 | |||
758 | return; | 758 | return; |
759 | 759 | ||
760 | diff --git a/src/gsttools/qgstreamervideorenderer.cpp b/src/gsttools/qgstreamervideorenderer.cpp | 760 | diff --git a/src/gsttools/qgstreamervideorenderer.cpp b/src/gsttools/qgstreamervideorenderer.cpp |
761 | index 36c9f78..da85dea 100644 | 761 | index 2b66f76..804dce9 100644 |
762 | --- a/src/gsttools/qgstreamervideorenderer.cpp | 762 | --- a/src/gsttools/qgstreamervideorenderer.cpp |
763 | +++ b/src/gsttools/qgstreamervideorenderer.cpp | 763 | +++ b/src/gsttools/qgstreamervideorenderer.cpp |
764 | @@ -43,8 +43,7 @@ | 764 | @@ -35,8 +35,7 @@ |
765 | #include <private/qvideosurfacegstsink_p.h> | 765 | #include <private/qvideosurfacegstsink_p.h> |
766 | #include <private/qgstutils_p.h> | 766 | #include <private/qgstutils_p.h> |
767 | #include <qabstractvideosurface.h> | 767 | #include <qabstractvideosurface.h> |
@@ -772,10 +772,10 @@ index 36c9f78..da85dea 100644 | |||
772 | #include <gst/gst.h> | 772 | #include <gst/gst.h> |
773 | 773 | ||
774 | diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp | 774 | diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp |
775 | index 7e11bfb..7848f2f 100644 | 775 | index aa2e2a3..14c1f04 100644 |
776 | --- a/src/gsttools/qgstreamervideowidget.cpp | 776 | --- a/src/gsttools/qgstreamervideowidget.cpp |
777 | +++ b/src/gsttools/qgstreamervideowidget.cpp | 777 | +++ b/src/gsttools/qgstreamervideowidget.cpp |
778 | @@ -48,8 +48,13 @@ | 778 | @@ -40,8 +40,13 @@ |
779 | #include <QtGui/qpainter.h> | 779 | #include <QtGui/qpainter.h> |
780 | 780 | ||
781 | #include <gst/gst.h> | 781 | #include <gst/gst.h> |
@@ -789,7 +789,7 @@ index 7e11bfb..7848f2f 100644 | |||
789 | 789 | ||
790 | QT_BEGIN_NAMESPACE | 790 | QT_BEGIN_NAMESPACE |
791 | 791 | ||
792 | @@ -177,9 +182,13 @@ bool QGstreamerVideoWidgetControl::processSyncMessage(const QGstreamerMessage &m | 792 | @@ -169,9 +174,13 @@ bool QGstreamerVideoWidgetControl::processSyncMessage(const QGstreamerMessage &m |
793 | { | 793 | { |
794 | GstMessage* gm = message.rawMessage(); | 794 | GstMessage* gm = message.rawMessage(); |
795 | 795 | ||
@@ -804,7 +804,7 @@ index 7e11bfb..7848f2f 100644 | |||
804 | setOverlay(); | 804 | setOverlay(); |
805 | QMetaObject::invokeMethod(this, "updateNativeVideoSize", Qt::QueuedConnection); | 805 | QMetaObject::invokeMethod(this, "updateNativeVideoSize", Qt::QueuedConnection); |
806 | return true; | 806 | return true; |
807 | @@ -207,18 +216,29 @@ bool QGstreamerVideoWidgetControl::processBusMessage(const QGstreamerMessage &me | 807 | @@ -199,18 +208,29 @@ bool QGstreamerVideoWidgetControl::processBusMessage(const QGstreamerMessage &me |
808 | 808 | ||
809 | void QGstreamerVideoWidgetControl::setOverlay() | 809 | void QGstreamerVideoWidgetControl::setOverlay() |
810 | { | 810 | { |
@@ -835,7 +835,7 @@ index 7e11bfb..7848f2f 100644 | |||
835 | 835 | ||
836 | if (caps) { | 836 | if (caps) { |
837 | m_widget->setNativeSize(QGstUtils::capsCorrectedResolution(caps)); | 837 | m_widget->setNativeSize(QGstUtils::capsCorrectedResolution(caps)); |
838 | @@ -233,8 +253,13 @@ void QGstreamerVideoWidgetControl::updateNativeVideoSize() | 838 | @@ -225,8 +245,13 @@ void QGstreamerVideoWidgetControl::updateNativeVideoSize() |
839 | 839 | ||
840 | void QGstreamerVideoWidgetControl::windowExposed() | 840 | void QGstreamerVideoWidgetControl::windowExposed() |
841 | { | 841 | { |
@@ -850,10 +850,10 @@ index 7e11bfb..7848f2f 100644 | |||
850 | 850 | ||
851 | QWidget *QGstreamerVideoWidgetControl::videoWidget() | 851 | QWidget *QGstreamerVideoWidgetControl::videoWidget() |
852 | diff --git a/src/gsttools/qgstreamervideowindow.cpp b/src/gsttools/qgstreamervideowindow.cpp | 852 | diff --git a/src/gsttools/qgstreamervideowindow.cpp b/src/gsttools/qgstreamervideowindow.cpp |
853 | index 2dc3510..45e9374 100644 | 853 | index a373dcc..587b010 100644 |
854 | --- a/src/gsttools/qgstreamervideowindow.cpp | 854 | --- a/src/gsttools/qgstreamervideowindow.cpp |
855 | +++ b/src/gsttools/qgstreamervideowindow.cpp | 855 | +++ b/src/gsttools/qgstreamervideowindow.cpp |
856 | @@ -45,8 +45,12 @@ | 856 | @@ -37,8 +37,12 @@ |
857 | #include <QtCore/qdebug.h> | 857 | #include <QtCore/qdebug.h> |
858 | 858 | ||
859 | #include <gst/gst.h> | 859 | #include <gst/gst.h> |
@@ -866,7 +866,7 @@ index 2dc3510..45e9374 100644 | |||
866 | 866 | ||
867 | 867 | ||
868 | QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elementName) | 868 | QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elementName) |
869 | @@ -57,18 +61,25 @@ QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elemen | 869 | @@ -49,18 +53,25 @@ QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elemen |
870 | , m_fullScreen(false) | 870 | , m_fullScreen(false) |
871 | , m_colorKey(QColor::Invalid) | 871 | , m_colorKey(QColor::Invalid) |
872 | { | 872 | { |
@@ -894,7 +894,7 @@ index 2dc3510..45e9374 100644 | |||
894 | } | 894 | } |
895 | 895 | ||
896 | QGstreamerVideoWindow::~QGstreamerVideoWindow() | 896 | QGstreamerVideoWindow::~QGstreamerVideoWindow() |
897 | @@ -90,11 +101,15 @@ void QGstreamerVideoWindow::setWinId(WId id) | 897 | @@ -82,11 +93,15 @@ void QGstreamerVideoWindow::setWinId(WId id) |
898 | WId oldId = m_windowId; | 898 | WId oldId = m_windowId; |
899 | 899 | ||
900 | m_windowId = id; | 900 | m_windowId = id; |
@@ -912,7 +912,7 @@ index 2dc3510..45e9374 100644 | |||
912 | if (!oldId) | 912 | if (!oldId) |
913 | emit readyChanged(true); | 913 | emit readyChanged(true); |
914 | 914 | ||
915 | @@ -105,7 +120,20 @@ void QGstreamerVideoWindow::setWinId(WId id) | 915 | @@ -97,7 +112,20 @@ void QGstreamerVideoWindow::setWinId(WId id) |
916 | bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message) | 916 | bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message) |
917 | { | 917 | { |
918 | GstMessage* gm = message.rawMessage(); | 918 | GstMessage* gm = message.rawMessage(); |
@@ -933,7 +933,7 @@ index 2dc3510..45e9374 100644 | |||
933 | if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) && | 933 | if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) && |
934 | gst_structure_has_name(gm->structure, "prepare-xwindow-id") && | 934 | gst_structure_has_name(gm->structure, "prepare-xwindow-id") && |
935 | m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { | 935 | m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { |
936 | @@ -118,7 +146,7 @@ bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message) | 936 | @@ -110,7 +138,7 @@ bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message) |
937 | 937 | ||
938 | return true; | 938 | return true; |
939 | } | 939 | } |
@@ -942,7 +942,7 @@ index 2dc3510..45e9374 100644 | |||
942 | return false; | 942 | return false; |
943 | } | 943 | } |
944 | 944 | ||
945 | @@ -130,7 +158,19 @@ QRect QGstreamerVideoWindow::displayRect() const | 945 | @@ -122,7 +150,19 @@ QRect QGstreamerVideoWindow::displayRect() const |
946 | void QGstreamerVideoWindow::setDisplayRect(const QRect &rect) | 946 | void QGstreamerVideoWindow::setDisplayRect(const QRect &rect) |
947 | { | 947 | { |
948 | m_displayRect = rect; | 948 | m_displayRect = rect; |
@@ -963,7 +963,7 @@ index 2dc3510..45e9374 100644 | |||
963 | if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { | 963 | if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { |
964 | #if GST_VERSION_MICRO >= 29 | 964 | #if GST_VERSION_MICRO >= 29 |
965 | if (m_displayRect.isEmpty()) | 965 | if (m_displayRect.isEmpty()) |
966 | @@ -144,6 +184,7 @@ void QGstreamerVideoWindow::setDisplayRect(const QRect &rect) | 966 | @@ -136,6 +176,7 @@ void QGstreamerVideoWindow::setDisplayRect(const QRect &rect) |
967 | repaint(); | 967 | repaint(); |
968 | #endif | 968 | #endif |
969 | } | 969 | } |
@@ -971,7 +971,7 @@ index 2dc3510..45e9374 100644 | |||
971 | } | 971 | } |
972 | 972 | ||
973 | Qt::AspectRatioMode QGstreamerVideoWindow::aspectRatioMode() const | 973 | Qt::AspectRatioMode QGstreamerVideoWindow::aspectRatioMode() const |
974 | @@ -165,6 +206,16 @@ void QGstreamerVideoWindow::setAspectRatioMode(Qt::AspectRatioMode mode) | 974 | @@ -157,6 +198,16 @@ void QGstreamerVideoWindow::setAspectRatioMode(Qt::AspectRatioMode mode) |
975 | 975 | ||
976 | void QGstreamerVideoWindow::repaint() | 976 | void QGstreamerVideoWindow::repaint() |
977 | { | 977 | { |
@@ -988,7 +988,7 @@ index 2dc3510..45e9374 100644 | |||
988 | if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { | 988 | if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) { |
989 | //don't call gst_x_overlay_expose if the sink is in null state | 989 | //don't call gst_x_overlay_expose if the sink is in null state |
990 | GstState state = GST_STATE_NULL; | 990 | GstState state = GST_STATE_NULL; |
991 | @@ -173,6 +224,7 @@ void QGstreamerVideoWindow::repaint() | 991 | @@ -165,6 +216,7 @@ void QGstreamerVideoWindow::repaint() |
992 | gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink)); | 992 | gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink)); |
993 | } | 993 | } |
994 | } | 994 | } |
@@ -996,7 +996,7 @@ index 2dc3510..45e9374 100644 | |||
996 | } | 996 | } |
997 | 997 | ||
998 | QColor QGstreamerVideoWindow::colorKey() const | 998 | QColor QGstreamerVideoWindow::colorKey() const |
999 | @@ -304,11 +356,22 @@ QSize QGstreamerVideoWindow::nativeSize() const | 999 | @@ -296,11 +348,22 @@ QSize QGstreamerVideoWindow::nativeSize() const |
1000 | return m_nativeSize; | 1000 | return m_nativeSize; |
1001 | } | 1001 | } |
1002 | 1002 | ||
@@ -1019,7 +1019,7 @@ index 2dc3510..45e9374 100644 | |||
1019 | } | 1019 | } |
1020 | 1020 | ||
1021 | void QGstreamerVideoWindow::updateNativeVideoSize() | 1021 | void QGstreamerVideoWindow::updateNativeVideoSize() |
1022 | @@ -319,7 +382,11 @@ void QGstreamerVideoWindow::updateNativeVideoSize() | 1022 | @@ -311,7 +374,11 @@ void QGstreamerVideoWindow::updateNativeVideoSize() |
1023 | if (m_videoSink) { | 1023 | if (m_videoSink) { |
1024 | //find video native size to update video widget size hint | 1024 | //find video native size to update video widget size hint |
1025 | GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink"); | 1025 | GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink"); |
@@ -1032,7 +1032,7 @@ index 2dc3510..45e9374 100644 | |||
1032 | 1032 | ||
1033 | if (caps) { | 1033 | if (caps) { |
1034 | diff --git a/src/gsttools/qgstutils.cpp b/src/gsttools/qgstutils.cpp | 1034 | diff --git a/src/gsttools/qgstutils.cpp b/src/gsttools/qgstutils.cpp |
1035 | index 41bd005..3ca1921 100644 | 1035 | index 556fc03..5ea2c59 100644 |
1036 | --- a/src/gsttools/qgstutils.cpp | 1036 | --- a/src/gsttools/qgstutils.cpp |
1037 | +++ b/src/gsttools/qgstutils.cpp | 1037 | +++ b/src/gsttools/qgstutils.cpp |
1038 | @@ -89,8 +89,13 @@ static void addTagToMap(const GstTagList *list, | 1038 | @@ -89,8 +89,13 @@ static void addTagToMap(const GstTagList *list, |
@@ -1083,7 +1083,7 @@ index 41bd005..3ca1921 100644 | |||
1083 | 1083 | ||
1084 | /*! | 1084 | /*! |
1085 | Builds GstCaps for an audio format. | 1085 | Builds GstCaps for an audio format. |
1086 | @@ -403,7 +426,7 @@ QMultimedia::SupportEstimate QGstUtils::hasSupport(const QString &mimeType, | 1086 | @@ -579,7 +602,7 @@ QByteArray QGstUtils::cameraDriver(const QString &device, GstElementFactory *fac |
1087 | 1087 | ||
1088 | void qt_gst_object_ref_sink(gpointer object) | 1088 | void qt_gst_object_ref_sink(gpointer object) |
1089 | { | 1089 | { |
@@ -1093,10 +1093,10 @@ index 41bd005..3ca1921 100644 | |||
1093 | #else | 1093 | #else |
1094 | g_return_if_fail (GST_IS_OBJECT(object)); | 1094 | g_return_if_fail (GST_IS_OBJECT(object)); |
1095 | diff --git a/src/gsttools/qgstvideobuffer.cpp b/src/gsttools/qgstvideobuffer.cpp | 1095 | diff --git a/src/gsttools/qgstvideobuffer.cpp b/src/gsttools/qgstvideobuffer.cpp |
1096 | index 45556d1..750a07f 100644 | 1096 | index 18702ec..93f22f5 100644 |
1097 | --- a/src/gsttools/qgstvideobuffer.cpp | 1097 | --- a/src/gsttools/qgstvideobuffer.cpp |
1098 | +++ b/src/gsttools/qgstvideobuffer.cpp | 1098 | +++ b/src/gsttools/qgstvideobuffer.cpp |
1099 | @@ -78,21 +78,33 @@ QAbstractVideoBuffer::MapMode QGstVideoBuffer::mapMode() const | 1099 | @@ -70,21 +70,33 @@ QAbstractVideoBuffer::MapMode QGstVideoBuffer::mapMode() const |
1100 | uchar *QGstVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine) | 1100 | uchar *QGstVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine) |
1101 | { | 1101 | { |
1102 | if (mode != NotMapped && m_mode == NotMapped) { | 1102 | if (mode != NotMapped && m_mode == NotMapped) { |
@@ -1134,10 +1134,10 @@ index 45556d1..750a07f 100644 | |||
1134 | } | 1134 | } |
1135 | 1135 | ||
1136 | diff --git a/src/gsttools/qvideosurfacegstsink.cpp b/src/gsttools/qvideosurfacegstsink.cpp | 1136 | diff --git a/src/gsttools/qvideosurfacegstsink.cpp b/src/gsttools/qvideosurfacegstsink.cpp |
1137 | index 81d5f60..51c4107 100644 | 1137 | index f3e2d88..a964e82 100644 |
1138 | --- a/src/gsttools/qvideosurfacegstsink.cpp | 1138 | --- a/src/gsttools/qvideosurfacegstsink.cpp |
1139 | +++ b/src/gsttools/qvideosurfacegstsink.cpp | 1139 | +++ b/src/gsttools/qvideosurfacegstsink.cpp |
1140 | @@ -51,7 +51,11 @@ | 1140 | @@ -43,7 +43,11 @@ |
1141 | 1141 | ||
1142 | #include "qvideosurfacegstsink_p.h" | 1142 | #include "qvideosurfacegstsink_p.h" |
1143 | 1143 | ||
@@ -1150,7 +1150,7 @@ index 81d5f60..51c4107 100644 | |||
1150 | 1150 | ||
1151 | QT_BEGIN_NAMESPACE | 1151 | QT_BEGIN_NAMESPACE |
1152 | 1152 | ||
1153 | @@ -71,10 +75,12 @@ QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate( | 1153 | @@ -62,10 +66,12 @@ QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate( |
1154 | if (m_surface) { | 1154 | if (m_surface) { |
1155 | foreach (QObject *instance, bufferPoolLoader()->instances(QGstBufferPoolPluginKey)) { | 1155 | foreach (QObject *instance, bufferPoolLoader()->instances(QGstBufferPoolPluginKey)) { |
1156 | QGstBufferPoolInterface* plugin = qobject_cast<QGstBufferPoolInterface*>(instance); | 1156 | QGstBufferPoolInterface* plugin = qobject_cast<QGstBufferPoolInterface*>(instance); |
@@ -1163,7 +1163,7 @@ index 81d5f60..51c4107 100644 | |||
1163 | updateSupportedFormats(); | 1163 | updateSupportedFormats(); |
1164 | connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(updateSupportedFormats())); | 1164 | connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(updateSupportedFormats())); |
1165 | } | 1165 | } |
1166 | @@ -208,6 +214,8 @@ GstFlowReturn QVideoSurfaceGstDelegate::render(GstBuffer *buffer) | 1166 | @@ -198,6 +204,8 @@ GstFlowReturn QVideoSurfaceGstDelegate::render(GstBuffer *buffer) |
1167 | if (QThread::currentThread() == thread()) { | 1167 | if (QThread::currentThread() == thread()) { |
1168 | if (!m_surface.isNull()) | 1168 | if (!m_surface.isNull()) |
1169 | m_surface->present(m_frame); | 1169 | m_surface->present(m_frame); |
@@ -1172,7 +1172,7 @@ index 81d5f60..51c4107 100644 | |||
1172 | } else { | 1172 | } else { |
1173 | QMetaObject::invokeMethod(this, "queuedRender", Qt::QueuedConnection); | 1173 | QMetaObject::invokeMethod(this, "queuedRender", Qt::QueuedConnection); |
1174 | m_renderCondition.wait(&m_mutex, 300); | 1174 | m_renderCondition.wait(&m_mutex, 300); |
1175 | @@ -310,6 +318,27 @@ void QVideoSurfaceGstDelegate::updateSupportedFormats() | 1175 | @@ -283,6 +291,27 @@ void QVideoSurfaceGstDelegate::updateSupportedFormats() |
1176 | } | 1176 | } |
1177 | } | 1177 | } |
1178 | 1178 | ||
@@ -1200,7 +1200,7 @@ index 81d5f60..51c4107 100644 | |||
1200 | struct YuvFormat | 1200 | struct YuvFormat |
1201 | { | 1201 | { |
1202 | QVideoFrame::PixelFormat pixelFormat; | 1202 | QVideoFrame::PixelFormat pixelFormat; |
1203 | @@ -327,6 +356,7 @@ static const YuvFormat qt_yuvColorLookup[] = | 1203 | @@ -300,6 +329,7 @@ static const YuvFormat qt_yuvColorLookup[] = |
1204 | { QVideoFrame::Format_NV21, GST_MAKE_FOURCC('N','V','2','1'), 8 }, | 1204 | { QVideoFrame::Format_NV21, GST_MAKE_FOURCC('N','V','2','1'), 8 }, |
1205 | { QVideoFrame::Format_AYUV444, GST_MAKE_FOURCC('A','Y','U','V'), 32 } | 1205 | { QVideoFrame::Format_AYUV444, GST_MAKE_FOURCC('A','Y','U','V'), 32 } |
1206 | }; | 1206 | }; |
@@ -1208,7 +1208,7 @@ index 81d5f60..51c4107 100644 | |||
1208 | 1208 | ||
1209 | static int indexOfYuvColor(QVideoFrame::PixelFormat format) | 1209 | static int indexOfYuvColor(QVideoFrame::PixelFormat format) |
1210 | { | 1210 | { |
1211 | @@ -339,12 +369,20 @@ static int indexOfYuvColor(QVideoFrame::PixelFormat format) | 1211 | @@ -312,12 +342,20 @@ static int indexOfYuvColor(QVideoFrame::PixelFormat format) |
1212 | return -1; | 1212 | return -1; |
1213 | } | 1213 | } |
1214 | 1214 | ||
@@ -1229,7 +1229,7 @@ index 81d5f60..51c4107 100644 | |||
1229 | return i; | 1229 | return i; |
1230 | 1230 | ||
1231 | return -1; | 1231 | return -1; |
1232 | @@ -417,13 +455,13 @@ GType QVideoSurfaceGstSink::get_type() | 1232 | @@ -388,13 +426,13 @@ GType QVideoSurfaceGstSink::get_type() |
1233 | if (type == 0) { | 1233 | if (type == 0) { |
1234 | static const GTypeInfo info = | 1234 | static const GTypeInfo info = |
1235 | { | 1235 | { |
@@ -1245,7 +1245,7 @@ index 81d5f60..51c4107 100644 | |||
1245 | 0, // n_preallocs | 1245 | 0, // n_preallocs |
1246 | instance_init, // instance_init | 1246 | instance_init, // instance_init |
1247 | 0 // value_table | 1247 | 0 // value_table |
1248 | @@ -445,7 +483,11 @@ void QVideoSurfaceGstSink::class_init(gpointer g_class, gpointer class_data) | 1248 | @@ -419,7 +457,11 @@ void QVideoSurfaceGstSink::class_init(gpointer g_class, gpointer class_data) |
1249 | GstBaseSinkClass *base_sink_class = reinterpret_cast<GstBaseSinkClass *>(g_class); | 1249 | GstBaseSinkClass *base_sink_class = reinterpret_cast<GstBaseSinkClass *>(g_class); |
1250 | base_sink_class->get_caps = QVideoSurfaceGstSink::get_caps; | 1250 | base_sink_class->get_caps = QVideoSurfaceGstSink::get_caps; |
1251 | base_sink_class->set_caps = QVideoSurfaceGstSink::set_caps; | 1251 | base_sink_class->set_caps = QVideoSurfaceGstSink::set_caps; |
@@ -1256,8 +1256,8 @@ index 81d5f60..51c4107 100644 | |||
1256 | +#endif | 1256 | +#endif |
1257 | base_sink_class->start = QVideoSurfaceGstSink::start; | 1257 | base_sink_class->start = QVideoSurfaceGstSink::start; |
1258 | base_sink_class->stop = QVideoSurfaceGstSink::stop; | 1258 | base_sink_class->stop = QVideoSurfaceGstSink::stop; |
1259 | // base_sink_class->unlock = QVideoSurfaceGstSink::unlock; // Not implemented. | 1259 | |
1260 | @@ -464,6 +506,18 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class) | 1260 | @@ -434,6 +476,18 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class) |
1261 | { | 1261 | { |
1262 | static GstStaticPadTemplate sink_pad_template = GST_STATIC_PAD_TEMPLATE( | 1262 | static GstStaticPadTemplate sink_pad_template = GST_STATIC_PAD_TEMPLATE( |
1263 | "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS( | 1263 | "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS( |
@@ -1276,7 +1276,7 @@ index 81d5f60..51c4107 100644 | |||
1276 | "video/x-raw-rgb, " | 1276 | "video/x-raw-rgb, " |
1277 | "framerate = (fraction) [ 0, MAX ], " | 1277 | "framerate = (fraction) [ 0, MAX ], " |
1278 | "width = (int) [ 1, MAX ], " | 1278 | "width = (int) [ 1, MAX ], " |
1279 | @@ -472,6 +526,7 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class) | 1279 | @@ -442,6 +496,7 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class) |
1280 | "framerate = (fraction) [ 0, MAX ], " | 1280 | "framerate = (fraction) [ 0, MAX ], " |
1281 | "width = (int) [ 1, MAX ], " | 1281 | "width = (int) [ 1, MAX ], " |
1282 | "height = (int) [ 1, MAX ]")); | 1282 | "height = (int) [ 1, MAX ]")); |
@@ -1284,7 +1284,7 @@ index 81d5f60..51c4107 100644 | |||
1284 | 1284 | ||
1285 | gst_element_class_add_pad_template( | 1285 | gst_element_class_add_pad_template( |
1286 | GST_ELEMENT_CLASS(g_class), gst_static_pad_template_get(&sink_pad_template)); | 1286 | GST_ELEMENT_CLASS(g_class), gst_static_pad_template_get(&sink_pad_template)); |
1287 | @@ -520,7 +575,11 @@ GstStateChangeReturn QVideoSurfaceGstSink::change_state( | 1287 | @@ -490,7 +545,11 @@ GstStateChangeReturn QVideoSurfaceGstSink::change_state( |
1288 | element, transition); | 1288 | element, transition); |
1289 | } | 1289 | } |
1290 | 1290 | ||
@@ -1297,7 +1297,7 @@ index 81d5f60..51c4107 100644 | |||
1297 | { | 1297 | { |
1298 | VO_SINK(base); | 1298 | VO_SINK(base); |
1299 | 1299 | ||
1300 | @@ -533,6 +592,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) | 1300 | @@ -503,6 +562,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) |
1301 | QList<QVideoFrame::PixelFormat> poolHandleFormats; | 1301 | QList<QVideoFrame::PixelFormat> poolHandleFormats; |
1302 | sink->delegate->poolMutex()->lock(); | 1302 | sink->delegate->poolMutex()->lock(); |
1303 | QGstBufferPoolInterface *pool = sink->delegate->pool(); | 1303 | QGstBufferPoolInterface *pool = sink->delegate->pool(); |
@@ -1305,7 +1305,7 @@ index 81d5f60..51c4107 100644 | |||
1305 | if (pool) | 1305 | if (pool) |
1306 | poolHandleFormats = sink->delegate->supportedPixelFormats(pool->handleType()); | 1306 | poolHandleFormats = sink->delegate->supportedPixelFormats(pool->handleType()); |
1307 | sink->delegate->poolMutex()->unlock(); | 1307 | sink->delegate->poolMutex()->unlock(); |
1308 | @@ -548,11 +608,19 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) | 1308 | @@ -518,11 +578,19 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) |
1309 | 1309 | ||
1310 | if (index != -1) { | 1310 | if (index != -1) { |
1311 | gst_caps_append_structure(caps, gst_structure_new( | 1311 | gst_caps_append_structure(caps, gst_structure_new( |
@@ -1326,7 +1326,7 @@ index 81d5f60..51c4107 100644 | |||
1326 | NULL)); | 1326 | NULL)); |
1327 | continue; | 1327 | continue; |
1328 | } | 1328 | } |
1329 | @@ -562,7 +630,18 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) | 1329 | @@ -532,7 +600,18 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) |
1330 | for (int i = 0; i < count; ++i) { | 1330 | for (int i = 0; i < count; ++i) { |
1331 | if (qt_rgbColorLookup[i].pixelFormat == format) { | 1331 | if (qt_rgbColorLookup[i].pixelFormat == format) { |
1332 | GstStructure *structure = gst_structure_new( | 1332 | GstStructure *structure = gst_structure_new( |
@@ -1345,7 +1345,7 @@ index 81d5f60..51c4107 100644 | |||
1345 | "framerate" , GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1, | 1345 | "framerate" , GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1, |
1346 | "width" , GST_TYPE_INT_RANGE, 1, INT_MAX, | 1346 | "width" , GST_TYPE_INT_RANGE, 1, INT_MAX, |
1347 | "height" , GST_TYPE_INT_RANGE, 1, INT_MAX, | 1347 | "height" , GST_TYPE_INT_RANGE, 1, INT_MAX, |
1348 | @@ -583,6 +662,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) | 1348 | @@ -553,6 +632,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base) |
1349 | } | 1349 | } |
1350 | } | 1350 | } |
1351 | 1351 | ||
@@ -1353,7 +1353,7 @@ index 81d5f60..51c4107 100644 | |||
1353 | return caps; | 1353 | return caps; |
1354 | } | 1354 | } |
1355 | 1355 | ||
1356 | @@ -622,7 +702,7 @@ gboolean QVideoSurfaceGstSink::set_caps(GstBaseSink *base, GstCaps *caps) | 1356 | @@ -592,7 +672,7 @@ gboolean QVideoSurfaceGstSink::set_caps(GstBaseSink *base, GstCaps *caps) |
1357 | sink->lastRequestedCaps = 0; | 1357 | sink->lastRequestedCaps = 0; |
1358 | 1358 | ||
1359 | #ifdef DEBUG_VIDEO_SURFACE_SINK | 1359 | #ifdef DEBUG_VIDEO_SURFACE_SINK |
@@ -1362,7 +1362,7 @@ index 81d5f60..51c4107 100644 | |||
1362 | qDebug() << format; | 1362 | qDebug() << format; |
1363 | qDebug() << "bytesPerLine:" << bytesPerLine; | 1363 | qDebug() << "bytesPerLine:" << bytesPerLine; |
1364 | #endif | 1364 | #endif |
1365 | @@ -647,11 +727,49 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte | 1365 | @@ -617,11 +697,49 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte |
1366 | gst_structure_get_int(structure, "width", &size.rwidth()); | 1366 | gst_structure_get_int(structure, "width", &size.rwidth()); |
1367 | gst_structure_get_int(structure, "height", &size.rheight()); | 1367 | gst_structure_get_int(structure, "height", &size.rheight()); |
1368 | 1368 | ||
@@ -1412,7 +1412,7 @@ index 81d5f60..51c4107 100644 | |||
1412 | if (index != -1) { | 1412 | if (index != -1) { |
1413 | pixelFormat = qt_yuvColorLookup[index].pixelFormat; | 1413 | pixelFormat = qt_yuvColorLookup[index].pixelFormat; |
1414 | bitsPerPixel = qt_yuvColorLookup[index].bitsPerPixel; | 1414 | bitsPerPixel = qt_yuvColorLookup[index].bitsPerPixel; |
1415 | @@ -677,6 +795,7 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte | 1415 | @@ -647,6 +765,7 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte |
1416 | if (index != -1) | 1416 | if (index != -1) |
1417 | pixelFormat = qt_rgbColorLookup[index].pixelFormat; | 1417 | pixelFormat = qt_rgbColorLookup[index].pixelFormat; |
1418 | } | 1418 | } |
@@ -1420,7 +1420,7 @@ index 81d5f60..51c4107 100644 | |||
1420 | 1420 | ||
1421 | if (pixelFormat != QVideoFrame::Format_Invalid) { | 1421 | if (pixelFormat != QVideoFrame::Format_Invalid) { |
1422 | QVideoSurfaceFormat format(size, pixelFormat, handleType); | 1422 | QVideoSurfaceFormat format(size, pixelFormat, handleType); |
1423 | @@ -773,7 +892,11 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( | 1423 | @@ -722,7 +841,11 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( |
1424 | 1424 | ||
1425 | poolLock.unlock(); | 1425 | poolLock.unlock(); |
1426 | 1426 | ||
@@ -1432,7 +1432,7 @@ index 81d5f60..51c4107 100644 | |||
1432 | 1432 | ||
1433 | if (gst_caps_is_empty (intersection)) { | 1433 | if (gst_caps_is_empty (intersection)) { |
1434 | gst_caps_unref(intersection); | 1434 | gst_caps_unref(intersection); |
1435 | @@ -814,7 +937,7 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( | 1435 | @@ -763,7 +886,7 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( |
1436 | QVideoSurfaceFormat surfaceFormat = sink->delegate->surfaceFormat(); | 1436 | QVideoSurfaceFormat surfaceFormat = sink->delegate->surfaceFormat(); |
1437 | 1437 | ||
1438 | if (!pool->isFormatSupported(surfaceFormat)) { | 1438 | if (!pool->isFormatSupported(surfaceFormat)) { |
@@ -1441,7 +1441,7 @@ index 81d5f60..51c4107 100644 | |||
1441 | return GST_FLOW_OK; | 1441 | return GST_FLOW_OK; |
1442 | } | 1442 | } |
1443 | 1443 | ||
1444 | @@ -838,7 +961,6 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( | 1444 | @@ -787,7 +910,6 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc( |
1445 | gboolean QVideoSurfaceGstSink::start(GstBaseSink *base) | 1445 | gboolean QVideoSurfaceGstSink::start(GstBaseSink *base) |
1446 | { | 1446 | { |
1447 | Q_UNUSED(base); | 1447 | Q_UNUSED(base); |
@@ -1449,23 +1449,11 @@ index 81d5f60..51c4107 100644 | |||
1449 | return TRUE; | 1449 | return TRUE; |
1450 | } | 1450 | } |
1451 | 1451 | ||
1452 | @@ -864,8 +986,9 @@ gboolean QVideoSurfaceGstSink::event(GstBaseSink *base, GstEvent *event) | ||
1453 | VO_SINK(base); | ||
1454 | sink->delegate->setLastPrerolledBuffer(0); | ||
1455 | } | ||
1456 | - | ||
1457 | - return TRUE; | ||
1458 | +#if GST_CHECK_VERSION(1, 0, 0) | ||
1459 | + return GST_BASE_SINK_CLASS (sink_parent_class)->event (base, event); | ||
1460 | +#endif | ||
1461 | } | ||
1462 | |||
1463 | GstFlowReturn QVideoSurfaceGstSink::preroll(GstBaseSink *base, GstBuffer *buffer) | ||
1464 | diff --git a/src/multimedia/gsttools_headers/qgstappsrc_p.h b/src/multimedia/gsttools_headers/qgstappsrc_p.h | 1452 | diff --git a/src/multimedia/gsttools_headers/qgstappsrc_p.h b/src/multimedia/gsttools_headers/qgstappsrc_p.h |
1465 | index bfb038e..a188e18 100644 | 1453 | index 4af9252..0e0fc0a 100644 |
1466 | --- a/src/multimedia/gsttools_headers/qgstappsrc_p.h | 1454 | --- a/src/multimedia/gsttools_headers/qgstappsrc_p.h |
1467 | +++ b/src/multimedia/gsttools_headers/qgstappsrc_p.h | 1455 | +++ b/src/multimedia/gsttools_headers/qgstappsrc_p.h |
1468 | @@ -47,7 +47,10 @@ | 1456 | @@ -39,7 +39,10 @@ |
1469 | 1457 | ||
1470 | #include <gst/gst.h> | 1458 | #include <gst/gst.h> |
1471 | #include <gst/app/gstappsrc.h> | 1459 | #include <gst/app/gstappsrc.h> |
@@ -1477,10 +1465,10 @@ index bfb038e..a188e18 100644 | |||
1477 | QT_BEGIN_NAMESPACE | 1465 | QT_BEGIN_NAMESPACE |
1478 | 1466 | ||
1479 | diff --git a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h | 1467 | diff --git a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h |
1480 | index 71ea2ff..879f071 100644 | 1468 | index 34669b8..0f3b165 100644 |
1481 | --- a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h | 1469 | --- a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h |
1482 | +++ b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h | 1470 | +++ b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h |
1483 | @@ -55,8 +55,11 @@ class QGstreamerAudioProbeControl : public QMediaAudioProbeControl | 1471 | @@ -47,8 +47,11 @@ class QGstreamerAudioProbeControl : public QMediaAudioProbeControl |
1484 | public: | 1472 | public: |
1485 | explicit QGstreamerAudioProbeControl(QObject *parent); | 1473 | explicit QGstreamerAudioProbeControl(QObject *parent); |
1486 | virtual ~QGstreamerAudioProbeControl(); | 1474 | virtual ~QGstreamerAudioProbeControl(); |
@@ -1494,10 +1482,10 @@ index 71ea2ff..879f071 100644 | |||
1494 | private slots: | 1482 | private slots: |
1495 | void bufferProbed(); | 1483 | void bufferProbed(); |
1496 | diff --git a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h | 1484 | diff --git a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h |
1497 | index c512b48..0a8a654 100644 | 1485 | index 49064f9..fce6309 100644 |
1498 | --- a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h | 1486 | --- a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h |
1499 | +++ b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h | 1487 | +++ b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h |
1500 | @@ -56,7 +56,11 @@ public: | 1488 | @@ -48,7 +48,11 @@ public: |
1501 | explicit QGstreamerVideoProbeControl(QObject *parent); | 1489 | explicit QGstreamerVideoProbeControl(QObject *parent); |
1502 | virtual ~QGstreamerVideoProbeControl(); | 1490 | virtual ~QGstreamerVideoProbeControl(); |
1503 | 1491 | ||
@@ -1510,10 +1498,10 @@ index c512b48..0a8a654 100644 | |||
1510 | void stopFlushing(); | 1498 | void stopFlushing(); |
1511 | 1499 | ||
1512 | diff --git a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h | 1500 | diff --git a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h |
1513 | index 45582d6..4440337 100644 | 1501 | index 81e5764..c9fdb5c 100644 |
1514 | --- a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h | 1502 | --- a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h |
1515 | +++ b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h | 1503 | +++ b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h |
1516 | @@ -112,7 +112,11 @@ private slots: | 1504 | @@ -104,7 +104,11 @@ private slots: |
1517 | void updateNativeVideoSize(); | 1505 | void updateNativeVideoSize(); |
1518 | 1506 | ||
1519 | private: | 1507 | private: |
@@ -1526,10 +1514,10 @@ index 45582d6..4440337 100644 | |||
1526 | GstElement *m_videoSink; | 1514 | GstElement *m_videoSink; |
1527 | WId m_windowId; | 1515 | WId m_windowId; |
1528 | diff --git a/src/multimedia/gsttools_headers/qgstutils_p.h b/src/multimedia/gsttools_headers/qgstutils_p.h | 1516 | diff --git a/src/multimedia/gsttools_headers/qgstutils_p.h b/src/multimedia/gsttools_headers/qgstutils_p.h |
1529 | index eea1e15..6369df7 100644 | 1517 | index 65ff759..6015980 100644 |
1530 | --- a/src/multimedia/gsttools_headers/qgstutils_p.h | 1518 | --- a/src/multimedia/gsttools_headers/qgstutils_p.h |
1531 | +++ b/src/multimedia/gsttools_headers/qgstutils_p.h | 1519 | +++ b/src/multimedia/gsttools_headers/qgstutils_p.h |
1532 | @@ -70,7 +70,11 @@ namespace QGstUtils { | 1520 | @@ -73,7 +73,11 @@ namespace QGstUtils { |
1533 | QSize capsResolution(const GstCaps *caps); | 1521 | QSize capsResolution(const GstCaps *caps); |
1534 | QSize capsCorrectedResolution(const GstCaps *caps); | 1522 | QSize capsCorrectedResolution(const GstCaps *caps); |
1535 | QAudioFormat audioFormatForCaps(const GstCaps *caps); | 1523 | QAudioFormat audioFormatForCaps(const GstCaps *caps); |
@@ -1542,10 +1530,10 @@ index eea1e15..6369df7 100644 | |||
1542 | void initializeGst(); | 1530 | void initializeGst(); |
1543 | QMultimedia::SupportEstimate hasSupport(const QString &mimeType, | 1531 | QMultimedia::SupportEstimate hasSupport(const QString &mimeType, |
1544 | diff --git a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h | 1532 | diff --git a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h |
1545 | index 505a6c6..9bde1e0 100644 | 1533 | index 1e0fda8..be48820 100644 |
1546 | --- a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h | 1534 | --- a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h |
1547 | +++ b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h | 1535 | +++ b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h |
1548 | @@ -79,6 +79,9 @@ private: | 1536 | @@ -71,6 +71,9 @@ private: |
1549 | int m_bytesPerLine; | 1537 | int m_bytesPerLine; |
1550 | MapMode m_mode; | 1538 | MapMode m_mode; |
1551 | QVariant m_handle; | 1539 | QVariant m_handle; |
@@ -1556,10 +1544,10 @@ index 505a6c6..9bde1e0 100644 | |||
1556 | 1544 | ||
1557 | QT_END_NAMESPACE | 1545 | QT_END_NAMESPACE |
1558 | diff --git a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h | 1546 | diff --git a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h |
1559 | index 7563f06..505ff39 100644 | 1547 | index 11b305d..01935f7 100644 |
1560 | --- a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h | 1548 | --- a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h |
1561 | +++ b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h | 1549 | +++ b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h |
1562 | @@ -146,7 +146,11 @@ private: | 1550 | @@ -131,7 +131,11 @@ private: |
1563 | 1551 | ||
1564 | static GstStateChangeReturn change_state(GstElement *element, GstStateChange transition); | 1552 | static GstStateChangeReturn change_state(GstElement *element, GstStateChange transition); |
1565 | 1553 | ||
@@ -1573,10 +1561,10 @@ index 7563f06..505ff39 100644 | |||
1573 | 1561 | ||
1574 | static GstFlowReturn buffer_alloc( | 1562 | static GstFlowReturn buffer_alloc( |
1575 | diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp | 1563 | diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp |
1576 | index e6d2421..00291ab 100644 | 1564 | index 3098aab..9c54663 100644 |
1577 | --- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp | 1565 | --- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp |
1578 | +++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp | 1566 | +++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp |
1579 | @@ -82,29 +82,42 @@ void QGstreamerAudioDecoderServicePlugin::updateSupportedMimeTypes() const | 1567 | @@ -74,29 +74,42 @@ void QGstreamerAudioDecoderServicePlugin::updateSupportedMimeTypes() const |
1580 | gst_init(NULL, NULL); | 1568 | gst_init(NULL, NULL); |
1581 | 1569 | ||
1582 | GList *plugins, *orig_plugins; | 1570 | GList *plugins, *orig_plugins; |
@@ -1627,10 +1615,10 @@ index e6d2421..00291ab 100644 | |||
1627 | GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data); | 1615 | GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data); |
1628 | pads = g_list_next (pads); | 1616 | pads = g_list_next (pads); |
1629 | diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp | 1617 | diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp |
1630 | index 9f1a765..dd6bd02 100644 | 1618 | index f944a60..72d1cf1 100644 |
1631 | --- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp | 1619 | --- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp |
1632 | +++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp | 1620 | +++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp |
1633 | @@ -454,21 +454,40 @@ QAudioBuffer QGstreamerAudioDecoderSession::read() | 1621 | @@ -446,21 +446,40 @@ QAudioBuffer QGstreamerAudioDecoderSession::read() |
1634 | if (buffersAvailable == 1) | 1622 | if (buffersAvailable == 1) |
1635 | emit bufferAvailableChanged(false); | 1623 | emit bufferAvailableChanged(false); |
1636 | 1624 | ||
@@ -1673,7 +1661,7 @@ index 9f1a765..dd6bd02 100644 | |||
1673 | } | 1661 | } |
1674 | 1662 | ||
1675 | return audioBuffer; | 1663 | return audioBuffer; |
1676 | @@ -539,7 +558,12 @@ void QGstreamerAudioDecoderSession::addAppSink() | 1664 | @@ -531,7 +550,12 @@ void QGstreamerAudioDecoderSession::addAppSink() |
1677 | 1665 | ||
1678 | GstAppSinkCallbacks callbacks; | 1666 | GstAppSinkCallbacks callbacks; |
1679 | memset(&callbacks, 0, sizeof(callbacks)); | 1667 | memset(&callbacks, 0, sizeof(callbacks)); |
@@ -1686,7 +1674,7 @@ index 9f1a765..dd6bd02 100644 | |||
1686 | gst_app_sink_set_callbacks(m_appSink, &callbacks, this, NULL); | 1674 | gst_app_sink_set_callbacks(m_appSink, &callbacks, this, NULL); |
1687 | gst_app_sink_set_max_buffers(m_appSink, MAX_BUFFERS_IN_QUEUE); | 1675 | gst_app_sink_set_max_buffers(m_appSink, MAX_BUFFERS_IN_QUEUE); |
1688 | gst_base_sink_set_sync(GST_BASE_SINK(m_appSink), FALSE); | 1676 | gst_base_sink_set_sync(GST_BASE_SINK(m_appSink), FALSE); |
1689 | @@ -565,8 +589,13 @@ void QGstreamerAudioDecoderSession::updateDuration() | 1677 | @@ -557,8 +581,13 @@ void QGstreamerAudioDecoderSession::updateDuration() |
1690 | gint64 gstDuration = 0; | 1678 | gint64 gstDuration = 0; |
1691 | int duration = -1; | 1679 | int duration = -1; |
1692 | 1680 | ||
@@ -1701,22 +1689,22 @@ index 9f1a765..dd6bd02 100644 | |||
1701 | if (m_duration != duration) { | 1689 | if (m_duration != duration) { |
1702 | m_duration = duration; | 1690 | m_duration = duration; |
1703 | diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp | 1691 | diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp |
1704 | index a835b1c..6bd3682 100644 | 1692 | index a4038c5..9d1fdfa 100644 |
1705 | --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp | 1693 | --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp |
1706 | +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp | 1694 | +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp |
1707 | @@ -731,7 +731,11 @@ qint64 CameraBinSession::duration() const | 1695 | @@ -760,7 +760,11 @@ qint64 CameraBinSession::duration() const |
1708 | GstFormat format = GST_FORMAT_TIME; | 1696 | if (fileSink) { |
1709 | gint64 duration = 0; | 1697 | GstFormat format = GST_FORMAT_TIME; |
1710 | 1698 | gint64 duration = 0; | |
1711 | +#if GST_CHECK_VERSION(1,0,0) | 1699 | +#if GST_CHECK_VERSION(1,0,0) |
1712 | + if ( m_camerabin && gst_element_query_duration(m_camerabin, format, &duration)) | 1700 | + bool ret = gst_element_query_duration(fileSink, format, &duration); |
1713 | +#else | 1701 | +#else |
1714 | if ( m_camerabin && gst_element_query_position(m_camerabin, &format, &duration)) | 1702 | bool ret = gst_element_query_position(fileSink, &format, &duration); |
1715 | +#endif | 1703 | +#endif |
1716 | return duration / 1000000; | 1704 | gst_object_unref(GST_OBJECT(fileSink)); |
1717 | else | 1705 | if (ret) |
1718 | return 0; | 1706 | return duration / 1000000; |
1719 | @@ -764,8 +768,13 @@ void CameraBinSession::setMetaData(const QMap<QByteArray, QVariant> &data) | 1707 | @@ -797,8 +801,13 @@ void CameraBinSession::setMetaData(const QMap<QByteArray, QVariant> &data) |
1720 | 1708 | ||
1721 | if (m_camerabin) { | 1709 | if (m_camerabin) { |
1722 | GstIterator *elements = gst_bin_iterate_all_by_interface(GST_BIN(m_camerabin), GST_TYPE_TAG_SETTER); | 1710 | GstIterator *elements = gst_bin_iterate_all_by_interface(GST_BIN(m_camerabin), GST_TYPE_TAG_SETTER); |
@@ -1730,7 +1718,7 @@ index a835b1c..6bd3682 100644 | |||
1730 | gst_tag_setter_reset_tags(GST_TAG_SETTER(element)); | 1718 | gst_tag_setter_reset_tags(GST_TAG_SETTER(element)); |
1731 | 1719 | ||
1732 | QMapIterator<QByteArray, QVariant> it(data); | 1720 | QMapIterator<QByteArray, QVariant> it(data); |
1733 | @@ -826,7 +835,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message) | 1721 | @@ -859,7 +868,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message) |
1734 | 1722 | ||
1735 | if (gm && GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) { | 1723 | if (gm && GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) { |
1736 | if (m_captureMode == QCamera::CaptureStillImage && | 1724 | if (m_captureMode == QCamera::CaptureStillImage && |
@@ -1742,7 +1730,7 @@ index a835b1c..6bd3682 100644 | |||
1742 | st = gst_message_get_structure(gm); | 1730 | st = gst_message_get_structure(gm); |
1743 | 1731 | ||
1744 | if (gst_structure_has_field_typed(st, "buffer", GST_TYPE_BUFFER)) { | 1732 | if (gst_structure_has_field_typed(st, "buffer", GST_TYPE_BUFFER)) { |
1745 | @@ -836,7 +849,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message) | 1733 | @@ -869,7 +882,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message) |
1746 | 1734 | ||
1747 | QImage img; | 1735 | QImage img; |
1748 | 1736 | ||
@@ -1754,7 +1742,7 @@ index a835b1c..6bd3682 100644 | |||
1754 | if (caps) { | 1742 | if (caps) { |
1755 | GstStructure *structure = gst_caps_get_structure(caps, 0); | 1743 | GstStructure *structure = gst_caps_get_structure(caps, 0); |
1756 | gint width = 0; | 1744 | gint width = 0; |
1757 | @@ -1109,7 +1126,11 @@ QList< QPair<int,int> > CameraBinSession::supportedFrameRates(const QSize &frame | 1745 | @@ -1142,7 +1159,11 @@ QList< QPair<int,int> > CameraBinSession::supportedFrameRates(const QSize &frame |
1758 | gst_structure_remove_all_fields(structure); | 1746 | gst_structure_remove_all_fields(structure); |
1759 | gst_structure_set_value(structure, "framerate", &rate); | 1747 | gst_structure_set_value(structure, "framerate", &rate); |
1760 | } | 1748 | } |
@@ -1766,7 +1754,7 @@ index a835b1c..6bd3682 100644 | |||
1766 | 1754 | ||
1767 | 1755 | ||
1768 | for (uint i=0; i<gst_caps_get_size(caps); i++) { | 1756 | for (uint i=0; i<gst_caps_get_size(caps); i++) { |
1769 | @@ -1229,7 +1250,11 @@ QList<QSize> CameraBinSession::supportedResolutions(QPair<int,int> rate, | 1757 | @@ -1262,7 +1283,11 @@ QList<QSize> CameraBinSession::supportedResolutions(QPair<int,int> rate, |
1770 | gst_structure_set_value(structure, "width", &w); | 1758 | gst_structure_set_value(structure, "width", &w); |
1771 | gst_structure_set_value(structure, "height", &h); | 1759 | gst_structure_set_value(structure, "height", &h); |
1772 | } | 1760 | } |
@@ -1836,10 +1824,10 @@ index 7649010..fce55ac 100644 | |||
1836 | 1824 | ||
1837 | OTHER_FILES += \ | 1825 | OTHER_FILES += \ |
1838 | diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp | 1826 | diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp |
1839 | index b9114c6..97d9203 100644 | 1827 | index a2bd80d..d12e9a5 100644 |
1840 | --- a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp | 1828 | --- a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp |
1841 | +++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp | 1829 | +++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp |
1842 | @@ -506,6 +506,11 @@ GstElement *QGstreamerCaptureSession::buildImageCapture() | 1830 | @@ -498,6 +498,11 @@ GstElement *QGstreamerCaptureSession::buildImageCapture() |
1843 | gst_pad_add_buffer_probe(pad, G_CALLBACK(passImageFilter), this); | 1831 | gst_pad_add_buffer_probe(pad, G_CALLBACK(passImageFilter), this); |
1844 | gst_object_unref(GST_OBJECT(pad)); | 1832 | gst_object_unref(GST_OBJECT(pad)); |
1845 | 1833 | ||
@@ -1861,10 +1849,10 @@ index 2ca9377..b986fc7 100644 | |||
1861 | mediaplayer.json | 1849 | mediaplayer.json |
1862 | - | 1850 | - |
1863 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp | 1851 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp |
1864 | index 99c471b..deec236 100644 | 1852 | index fed756a..8239710 100644 |
1865 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp | 1853 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp |
1866 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp | 1854 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp |
1867 | @@ -527,6 +527,8 @@ void QGstreamerPlayerControl::processEOS() | 1855 | @@ -537,6 +537,8 @@ void QGstreamerPlayerControl::processEOS() |
1868 | m_session->showPrerollFrames(false); // stop showing prerolled frames in stop state | 1856 | m_session->showPrerollFrames(false); // stop showing prerolled frames in stop state |
1869 | } | 1857 | } |
1870 | 1858 | ||
@@ -1874,10 +1862,10 @@ index 99c471b..deec236 100644 | |||
1874 | } | 1862 | } |
1875 | 1863 | ||
1876 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp | 1864 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp |
1877 | index 854da46..2fd4345 100644 | 1865 | index ce267d7..062de07 100644 |
1878 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp | 1866 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp |
1879 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp | 1867 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp |
1880 | @@ -59,7 +59,11 @@ | 1868 | @@ -51,7 +51,11 @@ |
1881 | #include <private/qgstreamervideorenderer_p.h> | 1869 | #include <private/qgstreamervideorenderer_p.h> |
1882 | 1870 | ||
1883 | #if defined(Q_WS_MAEMO_6) && defined(__arm__) | 1871 | #if defined(Q_WS_MAEMO_6) && defined(__arm__) |
@@ -1890,7 +1878,7 @@ index 854da46..2fd4345 100644 | |||
1890 | #endif | 1878 | #endif |
1891 | 1879 | ||
1892 | #include "qgstreamerstreamscontrol.h" | 1880 | #include "qgstreamerstreamscontrol.h" |
1893 | @@ -90,6 +94,9 @@ QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent): | 1881 | @@ -82,6 +86,9 @@ QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent): |
1894 | 1882 | ||
1895 | #if defined(Q_WS_MAEMO_6) && defined(__arm__) | 1883 | #if defined(Q_WS_MAEMO_6) && defined(__arm__) |
1896 | m_videoRenderer = new QGstreamerGLTextureRenderer(this); | 1884 | m_videoRenderer = new QGstreamerGLTextureRenderer(this); |
@@ -1901,10 +1889,10 @@ index 854da46..2fd4345 100644 | |||
1901 | m_videoRenderer = new QGstreamerVideoRenderer(this); | 1889 | m_videoRenderer = new QGstreamerVideoRenderer(this); |
1902 | #endif | 1890 | #endif |
1903 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp | 1891 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp |
1904 | index a9052ca..7968799 100644 | 1892 | index 7d20b6d..bf2f9f8 100644 |
1905 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp | 1893 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp |
1906 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp | 1894 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp |
1907 | @@ -95,7 +95,11 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const | 1895 | @@ -87,7 +87,11 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const |
1908 | gst_init(NULL, NULL); | 1896 | gst_init(NULL, NULL); |
1909 | 1897 | ||
1910 | GList *plugins, *orig_plugins; | 1898 | GList *plugins, *orig_plugins; |
@@ -1916,7 +1904,7 @@ index a9052ca..7968799 100644 | |||
1916 | 1904 | ||
1917 | while (plugins) { | 1905 | while (plugins) { |
1918 | GList *features, *orig_features; | 1906 | GList *features, *orig_features; |
1919 | @@ -103,22 +107,33 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const | 1907 | @@ -95,22 +99,33 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const |
1920 | GstPlugin *plugin = (GstPlugin *) (plugins->data); | 1908 | GstPlugin *plugin = (GstPlugin *) (plugins->data); |
1921 | plugins = g_list_next (plugins); | 1909 | plugins = g_list_next (plugins); |
1922 | 1910 | ||
@@ -1957,10 +1945,10 @@ index a9052ca..7968799 100644 | |||
1957 | GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data); | 1945 | GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data); |
1958 | pads = g_list_next (pads); | 1946 | pads = g_list_next (pads); |
1959 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | 1947 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp |
1960 | index 87b71d7..03185a2 100644 | 1948 | index 15924a6..8013d0d 100644 |
1961 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | 1949 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp |
1962 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | 1950 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp |
1963 | @@ -93,6 +93,16 @@ typedef enum { | 1951 | @@ -85,6 +85,16 @@ typedef enum { |
1964 | GST_PLAY_FLAG_BUFFERING = 0x000000100 | 1952 | GST_PLAY_FLAG_BUFFERING = 0x000000100 |
1965 | } GstPlayFlags; | 1953 | } GstPlayFlags; |
1966 | 1954 | ||
@@ -1977,7 +1965,7 @@ index 87b71d7..03185a2 100644 | |||
1977 | #define DEFAULT_RAW_CAPS \ | 1965 | #define DEFAULT_RAW_CAPS \ |
1978 | "video/x-raw-yuv; " \ | 1966 | "video/x-raw-yuv; " \ |
1979 | "video/x-raw-rgb; " \ | 1967 | "video/x-raw-rgb; " \ |
1980 | @@ -105,6 +115,8 @@ typedef enum { | 1968 | @@ -97,6 +107,8 @@ typedef enum { |
1981 | "text/x-pango-markup; " \ | 1969 | "text/x-pango-markup; " \ |
1982 | "video/x-dvd-subpicture; " \ | 1970 | "video/x-dvd-subpicture; " \ |
1983 | "subpicture/x-pgs" | 1971 | "subpicture/x-pgs" |
@@ -1986,7 +1974,7 @@ index 87b71d7..03185a2 100644 | |||
1986 | static GstStaticCaps static_RawCaps = GST_STATIC_CAPS(DEFAULT_RAW_CAPS); | 1974 | static GstStaticCaps static_RawCaps = GST_STATIC_CAPS(DEFAULT_RAW_CAPS); |
1987 | 1975 | ||
1988 | QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) | 1976 | QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) |
1989 | @@ -145,8 +157,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) | 1977 | @@ -137,8 +149,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) |
1990 | gboolean result = gst_type_find_register(0, "playlist", GST_RANK_MARGINAL, playlistTypeFindFunction, 0, 0, this, 0); | 1978 | gboolean result = gst_type_find_register(0, "playlist", GST_RANK_MARGINAL, playlistTypeFindFunction, 0, 0, this, 0); |
1991 | Q_ASSERT(result == TRUE); | 1979 | Q_ASSERT(result == TRUE); |
1992 | Q_UNUSED(result); | 1980 | Q_UNUSED(result); |
@@ -1999,7 +1987,7 @@ index 87b71d7..03185a2 100644 | |||
1999 | 1987 | ||
2000 | if (m_playbin) { | 1988 | if (m_playbin) { |
2001 | //GST_PLAY_FLAG_NATIVE_VIDEO omits configuration of ffmpegcolorspace and videoscale, | 1989 | //GST_PLAY_FLAG_NATIVE_VIDEO omits configuration of ffmpegcolorspace and videoscale, |
2002 | @@ -196,7 +211,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) | 1990 | @@ -188,7 +203,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) |
2003 | m_videoIdentity = GST_ELEMENT(g_object_new(gst_video_connector_get_type(), 0)); // floating ref | 1991 | m_videoIdentity = GST_ELEMENT(g_object_new(gst_video_connector_get_type(), 0)); // floating ref |
2004 | g_signal_connect(G_OBJECT(m_videoIdentity), "connection-failed", G_CALLBACK(insertColorSpaceElement), (gpointer)this); | 1992 | g_signal_connect(G_OBJECT(m_videoIdentity), "connection-failed", G_CALLBACK(insertColorSpaceElement), (gpointer)this); |
2005 | 1993 | ||
@@ -2011,7 +1999,7 @@ index 87b71d7..03185a2 100644 | |||
2011 | // might not get a parent, take ownership to avoid leak | 1999 | // might not get a parent, take ownership to avoid leak |
2012 | qt_gst_object_ref_sink(GST_OBJECT(m_colorSpace)); | 2000 | qt_gst_object_ref_sink(GST_OBJECT(m_colorSpace)); |
2013 | 2001 | ||
2014 | @@ -214,7 +233,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) | 2002 | @@ -206,7 +225,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) |
2015 | 2003 | ||
2016 | // add ghostpads | 2004 | // add ghostpads |
2017 | GstPad *pad = gst_element_get_static_pad(m_videoIdentity,"sink"); | 2005 | GstPad *pad = gst_element_get_static_pad(m_videoIdentity,"sink"); |
@@ -2020,7 +2008,7 @@ index 87b71d7..03185a2 100644 | |||
2020 | gst_object_unref(GST_OBJECT(pad)); | 2008 | gst_object_unref(GST_OBJECT(pad)); |
2021 | 2009 | ||
2022 | if (m_playbin != 0) { | 2010 | if (m_playbin != 0) { |
2023 | @@ -226,7 +245,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) | 2011 | @@ -218,7 +237,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent) |
2024 | g_object_set(G_OBJECT(m_playbin), "video-sink", m_videoOutputBin, NULL); | 2012 | g_object_set(G_OBJECT(m_playbin), "video-sink", m_videoOutputBin, NULL); |
2025 | 2013 | ||
2026 | g_signal_connect(G_OBJECT(m_playbin), "notify::source", G_CALLBACK(playbinNotifySource), this); | 2014 | g_signal_connect(G_OBJECT(m_playbin), "notify::source", G_CALLBACK(playbinNotifySource), this); |
@@ -2029,7 +2017,7 @@ index 87b71d7..03185a2 100644 | |||
2029 | 2017 | ||
2030 | if (usePlaybinVolume()) { | 2018 | if (usePlaybinVolume()) { |
2031 | updateVolume(); | 2019 | updateVolume(); |
2032 | @@ -350,9 +369,13 @@ qint64 QGstreamerPlayerSession::position() const | 2020 | @@ -342,9 +361,13 @@ qint64 QGstreamerPlayerSession::position() const |
2033 | GstFormat format = GST_FORMAT_TIME; | 2021 | GstFormat format = GST_FORMAT_TIME; |
2034 | gint64 position = 0; | 2022 | gint64 position = 0; |
2035 | 2023 | ||
@@ -2044,7 +2032,7 @@ index 87b71d7..03185a2 100644 | |||
2044 | return m_lastPosition; | 2032 | return m_lastPosition; |
2045 | } | 2033 | } |
2046 | 2034 | ||
2047 | @@ -482,9 +505,18 @@ bool QGstreamerPlayerSession::isAudioAvailable() const | 2035 | @@ -474,9 +497,18 @@ bool QGstreamerPlayerSession::isAudioAvailable() const |
2048 | return m_audioAvailable; | 2036 | return m_audioAvailable; |
2049 | } | 2037 | } |
2050 | 2038 | ||
@@ -2063,7 +2051,7 @@ index 87b71d7..03185a2 100644 | |||
2063 | #ifdef DEBUG_PLAYBIN | 2051 | #ifdef DEBUG_PLAYBIN |
2064 | qDebug() << "block_pad_cb, blocked:" << blocked; | 2052 | qDebug() << "block_pad_cb, blocked:" << blocked; |
2065 | #endif | 2053 | #endif |
2066 | @@ -493,6 +525,7 @@ static void block_pad_cb(GstPad *pad, gboolean blocked, gpointer user_data) | 2054 | @@ -485,6 +517,7 @@ static void block_pad_cb(GstPad *pad, gboolean blocked, gpointer user_data) |
2067 | QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data); | 2055 | QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data); |
2068 | QMetaObject::invokeMethod(session, "finishVideoOutputChange", Qt::QueuedConnection); | 2056 | QMetaObject::invokeMethod(session, "finishVideoOutputChange", Qt::QueuedConnection); |
2069 | } | 2057 | } |
@@ -2071,7 +2059,7 @@ index 87b71d7..03185a2 100644 | |||
2071 | } | 2059 | } |
2072 | 2060 | ||
2073 | void QGstreamerPlayerSession::updateVideoRenderer() | 2061 | void QGstreamerPlayerSession::updateVideoRenderer() |
2074 | @@ -537,7 +570,7 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput) | 2062 | @@ -529,7 +562,7 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput) |
2075 | m_renderer = renderer; | 2063 | m_renderer = renderer; |
2076 | 2064 | ||
2077 | #ifdef DEBUG_VO_BIN_DUMP | 2065 | #ifdef DEBUG_VO_BIN_DUMP |
@@ -2080,7 +2068,7 @@ index 87b71d7..03185a2 100644 | |||
2080 | GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/), | 2068 | GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/), |
2081 | "playbin_set"); | 2069 | "playbin_set"); |
2082 | #endif | 2070 | #endif |
2083 | @@ -641,7 +674,11 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput) | 2071 | @@ -633,7 +666,11 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput) |
2084 | 2072 | ||
2085 | //block pads, async to avoid locking in paused state | 2073 | //block pads, async to avoid locking in paused state |
2086 | GstPad *srcPad = gst_element_get_static_pad(m_videoIdentity, "src"); | 2074 | GstPad *srcPad = gst_element_get_static_pad(m_videoIdentity, "src"); |
@@ -2092,7 +2080,7 @@ index 87b71d7..03185a2 100644 | |||
2092 | gst_object_unref(GST_OBJECT(srcPad)); | 2080 | gst_object_unref(GST_OBJECT(srcPad)); |
2093 | 2081 | ||
2094 | //Unpause the sink to avoid waiting until the buffer is processed | 2082 | //Unpause the sink to avoid waiting until the buffer is processed |
2095 | @@ -682,7 +719,11 @@ void QGstreamerPlayerSession::finishVideoOutputChange() | 2083 | @@ -674,7 +711,11 @@ void QGstreamerPlayerSession::finishVideoOutputChange() |
2096 | //video output was change back to the current one, | 2084 | //video output was change back to the current one, |
2097 | //no need to torment the pipeline, just unblock the pad | 2085 | //no need to torment the pipeline, just unblock the pad |
2098 | if (gst_pad_is_blocked(srcPad)) | 2086 | if (gst_pad_is_blocked(srcPad)) |
@@ -2104,7 +2092,7 @@ index 87b71d7..03185a2 100644 | |||
2104 | 2092 | ||
2105 | m_pendingVideoSink = 0; | 2093 | m_pendingVideoSink = 0; |
2106 | gst_object_unref(GST_OBJECT(srcPad)); | 2094 | gst_object_unref(GST_OBJECT(srcPad)); |
2107 | @@ -768,12 +809,17 @@ void QGstreamerPlayerSession::finishVideoOutputChange() | 2095 | @@ -760,12 +801,17 @@ void QGstreamerPlayerSession::finishVideoOutputChange() |
2108 | 2096 | ||
2109 | //don't have to wait here, it will unblock eventually | 2097 | //don't have to wait here, it will unblock eventually |
2110 | if (gst_pad_is_blocked(srcPad)) | 2098 | if (gst_pad_is_blocked(srcPad)) |
@@ -2125,7 +2113,7 @@ index 87b71d7..03185a2 100644 | |||
2125 | "playbin_finish"); | 2113 | "playbin_finish"); |
2126 | #endif | 2114 | #endif |
2127 | } | 2115 | } |
2128 | @@ -838,6 +884,7 @@ bool QGstreamerPlayerSession::play() | 2116 | @@ -830,6 +876,7 @@ bool QGstreamerPlayerSession::play() |
2129 | #ifdef DEBUG_PLAYBIN | 2117 | #ifdef DEBUG_PLAYBIN |
2130 | qDebug() << Q_FUNC_INFO; | 2118 | qDebug() << Q_FUNC_INFO; |
2131 | #endif | 2119 | #endif |
@@ -2133,7 +2121,7 @@ index 87b71d7..03185a2 100644 | |||
2133 | m_everPlayed = false; | 2121 | m_everPlayed = false; |
2134 | if (m_playbin) { | 2122 | if (m_playbin) { |
2135 | m_pendingState = QMediaPlayer::PlayingState; | 2123 | m_pendingState = QMediaPlayer::PlayingState; |
2136 | @@ -1335,8 +1382,11 @@ void QGstreamerPlayerSession::getStreamsInfo() | 2124 | @@ -1327,8 +1374,11 @@ void QGstreamerPlayerSession::getStreamsInfo() |
2137 | default: | 2125 | default: |
2138 | break; | 2126 | break; |
2139 | } | 2127 | } |
@@ -2146,7 +2134,7 @@ index 87b71d7..03185a2 100644 | |||
2146 | gchar *languageCode = 0; | 2134 | gchar *languageCode = 0; |
2147 | if (gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &languageCode)) | 2135 | if (gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &languageCode)) |
2148 | streamProperties[QMediaMetaData::Language] = QString::fromUtf8(languageCode); | 2136 | streamProperties[QMediaMetaData::Language] = QString::fromUtf8(languageCode); |
2149 | @@ -1375,7 +1425,11 @@ void QGstreamerPlayerSession::updateVideoResolutionTag() | 2137 | @@ -1367,7 +1417,11 @@ void QGstreamerPlayerSession::updateVideoResolutionTag() |
2150 | QSize aspectRatio; | 2138 | QSize aspectRatio; |
2151 | 2139 | ||
2152 | GstPad *pad = gst_element_get_static_pad(m_videoIdentity, "src"); | 2140 | GstPad *pad = gst_element_get_static_pad(m_videoIdentity, "src"); |
@@ -2158,7 +2146,7 @@ index 87b71d7..03185a2 100644 | |||
2158 | 2146 | ||
2159 | if (caps) { | 2147 | if (caps) { |
2160 | const GstStructure *structure = gst_caps_get_structure(caps, 0); | 2148 | const GstStructure *structure = gst_caps_get_structure(caps, 0); |
2161 | @@ -1419,7 +1473,11 @@ void QGstreamerPlayerSession::updateDuration() | 2149 | @@ -1411,7 +1465,11 @@ void QGstreamerPlayerSession::updateDuration() |
2162 | gint64 gstDuration = 0; | 2150 | gint64 gstDuration = 0; |
2163 | int duration = -1; | 2151 | int duration = -1; |
2164 | 2152 | ||
@@ -2170,7 +2158,7 @@ index 87b71d7..03185a2 100644 | |||
2170 | duration = gstDuration / 1000000; | 2158 | duration = gstDuration / 1000000; |
2171 | 2159 | ||
2172 | if (m_duration != duration) { | 2160 | if (m_duration != duration) { |
2173 | @@ -1475,7 +1533,11 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo | 2161 | @@ -1467,7 +1525,11 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo |
2174 | 2162 | ||
2175 | // The rest | 2163 | // The rest |
2176 | if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) { | 2164 | if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) { |
@@ -2182,7 +2170,7 @@ index 87b71d7..03185a2 100644 | |||
2182 | 2170 | ||
2183 | foreach (const QByteArray &rawHeader, self->m_request.rawHeaderList()) { | 2171 | foreach (const QByteArray &rawHeader, self->m_request.rawHeaderList()) { |
2184 | if (rawHeader == userAgentString) // Filter User-Agent | 2172 | if (rawHeader == userAgentString) // Filter User-Agent |
2185 | @@ -1630,7 +1692,11 @@ GstAutoplugSelectResult QGstreamerPlayerSession::handleAutoplugSelect(GstBin *bi | 2173 | @@ -1623,7 +1685,11 @@ GstAutoplugSelectResult QGstreamerPlayerSession::handleAutoplugSelect(GstBin *bi |
2186 | const gchar *factoryName = gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(factory)); | 2174 | const gchar *factoryName = gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(factory)); |
2187 | if (g_str_has_prefix(factoryName, "vaapi")) { | 2175 | if (g_str_has_prefix(factoryName, "vaapi")) { |
2188 | GstPad *sinkPad = gst_element_get_static_pad(session->m_videoSink, "sink"); | 2176 | GstPad *sinkPad = gst_element_get_static_pad(session->m_videoSink, "sink"); |
@@ -2194,7 +2182,7 @@ index 87b71d7..03185a2 100644 | |||
2194 | 2182 | ||
2195 | #if (GST_VERSION_MAJOR == 0) && ((GST_VERSION_MINOR < 10) || (GST_VERSION_MICRO < 33)) | 2183 | #if (GST_VERSION_MAJOR == 0) && ((GST_VERSION_MINOR < 10) || (GST_VERSION_MICRO < 33)) |
2196 | if (!factory_can_src_any_caps(factory, sinkCaps)) | 2184 | if (!factory_can_src_any_caps(factory, sinkCaps)) |
2197 | @@ -1659,14 +1725,19 @@ void QGstreamerPlayerSession::handleElementAdded(GstBin *bin, GstElement *elemen | 2185 | @@ -1652,14 +1718,19 @@ void QGstreamerPlayerSession::handleElementAdded(GstBin *bin, GstElement *elemen |
2198 | // Disable on-disk buffering. | 2186 | // Disable on-disk buffering. |
2199 | g_object_set(G_OBJECT(element), "temp-template", NULL, NULL); | 2187 | g_object_set(G_OBJECT(element), "temp-template", NULL, NULL); |
2200 | } else if (g_str_has_prefix(elementName, "uridecodebin") || | 2188 | } else if (g_str_has_prefix(elementName, "uridecodebin") || |
@@ -2216,7 +2204,7 @@ index 87b71d7..03185a2 100644 | |||
2216 | } | 2204 | } |
2217 | 2205 | ||
2218 | //listen for queue2 element added to uridecodebin/decodebin2 as well. | 2206 | //listen for queue2 element added to uridecodebin/decodebin2 as well. |
2219 | @@ -1734,7 +1805,27 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerVideoProbeControl* probe) | 2207 | @@ -1727,7 +1798,27 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerVideoProbeControl* probe) |
2220 | // Assume user releases any outstanding references to video frames. | 2208 | // Assume user releases any outstanding references to video frames. |
2221 | } | 2209 | } |
2222 | 2210 | ||
@@ -2245,7 +2233,7 @@ index 87b71d7..03185a2 100644 | |||
2245 | { | 2233 | { |
2246 | Q_UNUSED(pad); | 2234 | Q_UNUSED(pad); |
2247 | 2235 | ||
2248 | @@ -1749,6 +1840,7 @@ gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer *bu | 2236 | @@ -1742,6 +1833,7 @@ gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer *bu |
2249 | 2237 | ||
2250 | return TRUE; | 2238 | return TRUE; |
2251 | } | 2239 | } |
@@ -2253,7 +2241,7 @@ index 87b71d7..03185a2 100644 | |||
2253 | 2241 | ||
2254 | void QGstreamerPlayerSession::addProbe(QGstreamerAudioProbeControl* probe) | 2242 | void QGstreamerPlayerSession::addProbe(QGstreamerAudioProbeControl* probe) |
2255 | { | 2243 | { |
2256 | @@ -1766,6 +1858,24 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerAudioProbeControl* probe) | 2244 | @@ -1759,6 +1851,24 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerAudioProbeControl* probe) |
2257 | m_audioProbes.removeOne(probe); | 2245 | m_audioProbes.removeOne(probe); |
2258 | } | 2246 | } |
2259 | 2247 | ||
@@ -2278,7 +2266,7 @@ index 87b71d7..03185a2 100644 | |||
2278 | gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data) | 2266 | gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data) |
2279 | { | 2267 | { |
2280 | Q_UNUSED(pad); | 2268 | Q_UNUSED(pad); |
2281 | @@ -1781,7 +1891,7 @@ gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *bu | 2269 | @@ -1774,7 +1884,7 @@ gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *bu |
2282 | 2270 | ||
2283 | return TRUE; | 2271 | return TRUE; |
2284 | } | 2272 | } |
@@ -2287,7 +2275,7 @@ index 87b71d7..03185a2 100644 | |||
2287 | // This function is similar to stop(), | 2275 | // This function is similar to stop(), |
2288 | // but does not set m_everPlayed, m_lastPosition, | 2276 | // but does not set m_everPlayed, m_lastPosition, |
2289 | // and setSeekable() values. | 2277 | // and setSeekable() values. |
2290 | @@ -1814,7 +1924,11 @@ void QGstreamerPlayerSession::removeVideoBufferProbe() | 2278 | @@ -1807,7 +1917,11 @@ void QGstreamerPlayerSession::removeVideoBufferProbe() |
2291 | 2279 | ||
2292 | GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); | 2280 | GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); |
2293 | if (pad) { | 2281 | if (pad) { |
@@ -2299,7 +2287,7 @@ index 87b71d7..03185a2 100644 | |||
2299 | gst_object_unref(GST_OBJECT(pad)); | 2287 | gst_object_unref(GST_OBJECT(pad)); |
2300 | } | 2288 | } |
2301 | 2289 | ||
2302 | @@ -1829,7 +1943,11 @@ void QGstreamerPlayerSession::addVideoBufferProbe() | 2290 | @@ -1822,7 +1936,11 @@ void QGstreamerPlayerSession::addVideoBufferProbe() |
2303 | 2291 | ||
2304 | GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); | 2292 | GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink"); |
2305 | if (pad) { | 2293 | if (pad) { |
@@ -2311,7 +2299,7 @@ index 87b71d7..03185a2 100644 | |||
2311 | gst_object_unref(GST_OBJECT(pad)); | 2299 | gst_object_unref(GST_OBJECT(pad)); |
2312 | } | 2300 | } |
2313 | } | 2301 | } |
2314 | @@ -1846,7 +1964,11 @@ void QGstreamerPlayerSession::removeAudioBufferProbe() | 2302 | @@ -1839,7 +1957,11 @@ void QGstreamerPlayerSession::removeAudioBufferProbe() |
2315 | 2303 | ||
2316 | GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); | 2304 | GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); |
2317 | if (pad) { | 2305 | if (pad) { |
@@ -2323,7 +2311,7 @@ index 87b71d7..03185a2 100644 | |||
2323 | gst_object_unref(GST_OBJECT(pad)); | 2311 | gst_object_unref(GST_OBJECT(pad)); |
2324 | } | 2312 | } |
2325 | 2313 | ||
2326 | @@ -1861,7 +1983,11 @@ void QGstreamerPlayerSession::addAudioBufferProbe() | 2314 | @@ -1854,7 +1976,11 @@ void QGstreamerPlayerSession::addAudioBufferProbe() |
2327 | 2315 | ||
2328 | GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); | 2316 | GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink"); |
2329 | if (pad) { | 2317 | if (pad) { |
@@ -2335,7 +2323,7 @@ index 87b71d7..03185a2 100644 | |||
2335 | gst_object_unref(GST_OBJECT(pad)); | 2323 | gst_object_unref(GST_OBJECT(pad)); |
2336 | } | 2324 | } |
2337 | } | 2325 | } |
2338 | @@ -1894,7 +2020,7 @@ void QGstreamerPlayerSession::playlistTypeFindFunction(GstTypeFind *find, gpoint | 2326 | @@ -1887,7 +2013,7 @@ void QGstreamerPlayerSession::playlistTypeFindFunction(GstTypeFind *find, gpoint |
2339 | length = qMin(length, guint64(1024)); | 2327 | length = qMin(length, guint64(1024)); |
2340 | 2328 | ||
2341 | while (length > 0) { | 2329 | while (length > 0) { |
@@ -2345,10 +2333,10 @@ index 87b71d7..03185a2 100644 | |||
2345 | session->m_isPlaylist = (QPlaylistFileParser::findPlaylistType(QString::fromUtf8(uri), 0, data, length) != QPlaylistFileParser::UNKNOWN); | 2333 | session->m_isPlaylist = (QPlaylistFileParser::findPlaylistType(QString::fromUtf8(uri), 0, data, length) != QPlaylistFileParser::UNKNOWN); |
2346 | return; | 2334 | return; |
2347 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h | 2335 | diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h |
2348 | index 23e7031..707779b 100644 | 2336 | index f2e760a..50bda3d 100644 |
2349 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h | 2337 | --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h |
2350 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h | 2338 | +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h |
2351 | @@ -127,11 +127,19 @@ public: | 2339 | @@ -119,11 +119,19 @@ public: |
2352 | 2340 | ||
2353 | void addProbe(QGstreamerVideoProbeControl* probe); | 2341 | void addProbe(QGstreamerVideoProbeControl* probe); |
2354 | void removeProbe(QGstreamerVideoProbeControl* probe); | 2342 | void removeProbe(QGstreamerVideoProbeControl* probe); |
@@ -2368,7 +2356,7 @@ index 23e7031..707779b 100644 | |||
2368 | 2356 | ||
2369 | void endOfMediaReset(); | 2357 | void endOfMediaReset(); |
2370 | 2358 | ||
2371 | @@ -260,6 +268,7 @@ private: | 2359 | @@ -252,6 +260,7 @@ private: |
2372 | bool m_isLiveSource; | 2360 | bool m_isLiveSource; |
2373 | 2361 | ||
2374 | bool m_isPlaylist; | 2362 | bool m_isPlaylist; |
@@ -2377,5 +2365,5 @@ index 23e7031..707779b 100644 | |||
2377 | 2365 | ||
2378 | QT_END_NAMESPACE | 2366 | QT_END_NAMESPACE |
2379 | -- | 2367 | -- |
2380 | 2.1.1 | 2368 | 2.1.3 |
2381 | 2369 | ||
diff --git a/recipes-qt/qt5/qtmultimedia/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch b/recipes-qt/qt5/qtmultimedia/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch index 23c400ca..1654e00d 100644 --- a/recipes-qt/qt5/qtmultimedia/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch +++ b/recipes-qt/qt5/qtmultimedia/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 5b6ff7fc6a102c9dc00ba947efbe000f34addbd5 Mon Sep 17 00:00:00 2001 | 1 | From b5c058f62a79efa213e4492ac7209b3a92f45e3b Mon Sep 17 00:00:00 2001 |
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
3 | Date: Sat, 5 Jul 2014 09:10:02 +0200 | 3 | Date: Sat, 5 Jul 2014 09:10:02 +0200 |
4 | Subject: [PATCH 2/2] qtmultimedia.pro: Respect | 4 | Subject: [PATCH 2/2] qtmultimedia.pro: Respect |
@@ -49,5 +49,5 @@ index 109dd81..54b67a8 100644 | |||
49 | cache(GST_VERSION, set, gstver); | 49 | cache(GST_VERSION, set, gstver); |
50 | # Force a re-run of the test | 50 | # Force a re-run of the test |
51 | -- | 51 | -- |
52 | 2.1.1 | 52 | 2.1.3 |
53 | 53 | ||