37 void seek(quint64 sessionId, TrackPosition initialPosUs,
const LoopOffset &loopOffset);
67 QPlatformMediaPlayer::TrackType trackType = QPlatformMediaPlayer::TrackType::NTrackTypes;
68 TrackDuration bufferedDuration = TrackDuration(0);
69 qint64 bufferedSize = 0;
71 TrackPosition maxSentPacketsPos = TrackPosition(0);
72 TrackPosition maxProcessedPacketPos = TrackPosition(0);
74 bool isDataLimitReached =
false;
77 void updateStreamDataLimitFlag(StreamData &streamData);
80 AVFormatContext *m_context =
nullptr;
84 TrackPosition posInLoopUs = TrackPosition(0);
85 LoopOffset loopOffset = {};
87 bool firstPacketFound =
false;
88 bool buffered =
false;
89 TrackPosition maxPacketsEndPos = TrackPosition(0);
91 qsizetype demuxerRetryCount = 0;
92 std::optional<TimePoint> failTimePoint = {};
95 SessionContext m_sessionCtx;
96 std::unordered_map<
int, StreamData> m_streams;
99 static constexpr qsizetype s_maxDemuxerRetries = 10;