summaryrefslogtreecommitdiffstats
path: root/src/multimedia/gsttools_headers
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@theqtcompany.com>2015-01-28 15:17:57 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2015-02-18 13:15:15 +0000
commitd4f88c3ec90962956840abc9a8b7137545d444e3 (patch)
tree84000367f01b08f857f344cd1f8cacf9f8287a3e /src/multimedia/gsttools_headers
parente4bf7d90bf32031641892783cc53f7712cb1c072 (diff)
GStreamer 1.0: fix some problems with QGstVideoRendererSink.
- Correctly free resources on deletion. - Correctly stop the sink. We were stopping only when null caps were passed to set_caps() but that doesn't seem to always happen. Implement GstBaseSink.stop() which is always and consistently called by GStreamer. - Remove pre-roll support (as done previously for 0.10, see commit 3b20608f). Change-Id: I4c5808938f244f4f8a35e121a3a4a862588b752d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/multimedia/gsttools_headers')
-rw-r--r--src/multimedia/gsttools_headers/qgstvideorenderersink_p.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/multimedia/gsttools_headers/qgstvideorenderersink_p.h b/src/multimedia/gsttools_headers/qgstvideorenderersink_p.h
index 0c5636c2e..48b14108d 100644
--- a/src/multimedia/gsttools_headers/qgstvideorenderersink_p.h
+++ b/src/multimedia/gsttools_headers/qgstvideorenderersink_p.h
@@ -98,14 +98,10 @@ public:
void stop();
bool proposeAllocation(GstQuery *query);
- void flush();
-
- GstFlowReturn render(GstBuffer *buffer, bool show);
+ GstFlowReturn render(GstBuffer *buffer);
bool event(QEvent *event);
- static void handleShowPrerollChange(GObject *o, GParamSpec *p, gpointer d);
-
private slots:
bool handleEvent(QMutexLocker *locker);
void updateSupportedFormats();
@@ -126,11 +122,10 @@ private:
GstCaps *m_surfaceCaps;
GstCaps *m_startCaps;
- GstBuffer *m_lastBuffer;
+ GstBuffer *m_renderBuffer;
bool m_notified;
bool m_stop;
- bool m_render;
bool m_flush;
};
@@ -156,7 +151,8 @@ private:
static gboolean propose_allocation(GstBaseSink *sink, GstQuery *query);
- static GstFlowReturn preroll(GstBaseSink *sink, GstBuffer *buffer);
+ static gboolean stop(GstBaseSink *sink);
+
static GstFlowReturn render(GstBaseSink *sink, GstBuffer *buffer);
private: