summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/gstreamer/common/qgstappsrc_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/gstreamer/common/qgstappsrc_p.h')
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstappsrc_p.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstappsrc_p.h b/src/multimedia/platform/gstreamer/common/qgstappsrc_p.h
index 4a1ad5003..3a978454c 100644
--- a/src/multimedia/platform/gstreamer/common/qgstappsrc_p.h
+++ b/src/multimedia/platform/gstreamer/common/qgstappsrc_p.h
@@ -57,6 +57,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qiodevice.h>
#include <QtCore/private/qringbuffer_p.h>
+#include <QtCore/qatomic.h>
#include <private/qgst_p.h>
#include <gst/app/gstappsrc.h>
@@ -82,6 +83,9 @@ public:
bool canAcceptMoreData() { return m_noMoreData || m_dataRequestSize != 0; }
+ void suspend() { m_suspended = true; }
+ void resume() { m_suspended = false; m_noMoreData = true; }
+
Q_SIGNALS:
void bytesProcessed(int bytes);
void noMoreData();
@@ -113,12 +117,13 @@ private:
QGstElement m_appSrc;
bool m_sequential = true;
+ bool m_suspended = false;
bool m_noMoreData = false;
GstAppStreamType m_streamType = GST_APP_STREAM_TYPE_RANDOM_ACCESS;
qint64 m_offset = 0;
qint64 m_maxBytes = 0;
qint64 bytesReadSoFar = 0;
- unsigned int m_dataRequestSize = 0;
+ QAtomicInteger<unsigned int> m_dataRequestSize = 0;
int streamedSamples = 0;
};