From 9f83209c149b6e99e0c8c449b621a2c41df61206 Mon Sep 17 00:00:00 2001 From: ronag Date: Mon, 22 Aug 2011 07:48:50 +0000 Subject: [PATCH] 2.0. ffmpeg_producer: Fixed arithmetic overflow for length. git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1263 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d --- modules/ffmpeg/producer/ffmpeg_producer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/ffmpeg/producer/ffmpeg_producer.cpp b/modules/ffmpeg/producer/ffmpeg_producer.cpp index d6ec0d899..3b62cf403 100644 --- a/modules/ffmpeg/producer/ffmpeg_producer.cpp +++ b/modules/ffmpeg/producer/ffmpeg_producer.cpp @@ -68,7 +68,7 @@ struct ffmpeg_producer : public core::frame_producer int late_frames_; const int start_; const bool loop_; - const int64_t length_; + const size_t length_; safe_ptr last_frame_; @@ -77,7 +77,7 @@ struct ffmpeg_producer : public core::frame_producer bool is_progressive_; public: - explicit ffmpeg_producer(const safe_ptr& frame_factory, const std::wstring& filename, const std::wstring& filter, bool loop, int start, int length) + explicit ffmpeg_producer(const safe_ptr& frame_factory, const std::wstring& filename, const std::wstring& filter, bool loop, int start, size_t length) : filename_(filename) , graph_(diagnostics::create_graph([this]{return print();})) , frame_factory_(frame_factory) @@ -187,7 +187,7 @@ public: int64_t video_nb_frames = video_decoder_.nb_frames(); int64_t audio_nb_frames = audio_decoder_.nb_frames(); - nb_frames = std::min(length_, std::max(nb_frames, std::max(video_nb_frames, audio_nb_frames))); + nb_frames = std::min(static_cast(length_), std::max(nb_frames, std::max(video_nb_frames, audio_nb_frames))); } nb_frames = muxer_.calc_nb_frames(nb_frames); -- 2.39.2