修复视频播放速度过快的问题

This commit is contained in:
JIe Jie 2024-02-21 10:45:13 +08:00
parent 5cc0de59d5
commit 5cb403e96b

View File

@ -155,8 +155,8 @@ int main(int argc, char** const argv)
case FileType::VIDEO:
{
InitVideo(window, targetFilepath, decoderParam, openglVideoParam, shaderService);
auto& time_base = decoderParam.fmtCtx->streams[decoderParam.videoStreamIndex]->time_base;
framerate = (double)time_base.num / time_base.den;
auto stream_frame_rate = decoderParam.fmtCtx->streams[decoderParam.videoStreamIndex]->avg_frame_rate;
framerate = static_cast<double>(stream_frame_rate.den) / stream_frame_rate.num;
break;
}
case FileType::IMG:
@ -202,7 +202,7 @@ int main(int argc, char** const argv)
case FileType::VIDEO:
OpenglRender(decoderParam, openglVideoParam, shaderService);
SDL_GL_SwapWindow(window);
std::this_thread::sleep_until(current_time + std::chrono::milliseconds((int)(framerate * 1000)));
std::this_thread::sleep_until(current_time + std::chrono::milliseconds(static_cast<int>(framerate * 1000)));
current_time = std::chrono::system_clock::now();
break;