summaryrefslogtreecommitdiffstats
path: root/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h')
-rw-r--r--src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h
index d2a8e064c..b72056185 100644
--- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h
+++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegdemuxer_p.h
@@ -58,16 +58,24 @@ private:
struct StreamData
{
QPlatformMediaPlayer::TrackType trackType = QPlatformMediaPlayer::TrackType::NTrackTypes;
- qint64 bufferingTime = 0;
- qint64 bufferingSize = 0;
+ qint64 bufferedDuration = 0;
+ qint64 bufferedSize = 0;
+
+ qint64 maxSentPacketsPos = 0;
+ qint64 maxProcessedPacketPos = 0;
+
+ bool isDataLimitReached = false;
};
+ void updateStreamDataLimitFlag(StreamData &streamData);
+
+private:
AVFormatContext *m_context = nullptr;
bool m_seeked = false;
bool m_firstPacketFound = false;
std::unordered_map<int, StreamData> m_streams;
PositionWithOffset m_posWithOffset;
- qint64 m_endPts = 0;
+ qint64 m_maxPacketsEndPos = 0;
QAtomicInt m_loops = QMediaPlayer::Once;
bool m_buffered = false;
};