diff options
Diffstat (limited to 'src/multimedia/platform/gstreamer/common/qgstappsrc_p.h')
-rw-r--r-- | src/multimedia/platform/gstreamer/common/qgstappsrc_p.h | 7 |
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; }; |