diff --git a/src/media/media_recorder.cpp b/src/media/media_recorder.cpp index f2d63abc11f4cab4c5d29ee2df03288e31bd2442..0362cd3cf8b8319cf1ae463756872a00d1c06c0b 100644 --- a/src/media/media_recorder.cpp +++ b/src/media/media_recorder.cpp @@ -161,7 +161,7 @@ MediaRecorder::startRecording() while (!frames_.empty()) { auto f = frames_.front(); av_frame_unref(f.frame); - frames_.pop(); + frames_.pop_front(); } } @@ -228,7 +228,7 @@ MediaRecorder::recordData(AVFrame* frame, bool isVideo, bool fromPeer) { std::lock_guard<std::mutex> q(qLock_); - frames_.emplace(input, isVideo, fromPeer); + frames_.emplace_back(input, isVideo, fromPeer); } loop_.interrupt(); return 0; @@ -510,7 +510,7 @@ MediaRecorder::process() std::lock_guard<std::mutex> q(qLock_); if (!frames_.empty()) { recframe = frames_.front(); - frames_.pop(); + frames_.pop_front(); } else { return; } diff --git a/src/media/media_recorder.h b/src/media/media_recorder.h index 87bf1e10875e3a6e7bbbc2bc3946aa03fa911be8..1c88f28764ca9e12cb5a4726452dac46511fb343 100644 --- a/src/media/media_recorder.h +++ b/src/media/media_recorder.h @@ -129,7 +129,7 @@ class MediaRecorder { InterruptedThreadLoop loop_; void process(); std::mutex qLock_; - std::queue<RecordFrame> frames_; + std::deque<RecordFrame> frames_; }; }; // namespace ring