修复视频播放速度过快的问题
This commit is contained in:
parent
5cc0de59d5
commit
5cb403e96b
6
main.cc
6
main.cc
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user