]> git.sesse.net Git - casparcg/blobdiff - modules/ffmpeg/producer/input/input.cpp
2.0.2: ffmpeg_producer: Fixed file_frame_number.
[casparcg] / modules / ffmpeg / producer / input / input.cpp
index e9c35c651690e9100d7abf7433e0f6be449e70a4..1622c6cc0d08afd174b1d5b02b42a4baa07cf745 100644 (file)
@@ -231,7 +231,7 @@ struct input::implementation : boost::noncopyable
                return is_running_ && (is_eof_ || (buffer_size_ > MAX_BUFFER_SIZE || buffer_.size() > MAX_BUFFER_COUNT) && buffer_.size() > MIN_BUFFER_COUNT);\r
        }\r
        \r
-       void do_seek(int64_t target)\r
+       void do_seek(const int64_t target)\r
        {       \r
                CASPAR_LOG(debug) << print() << " Seeking: " << target;\r
 \r
@@ -249,11 +249,11 @@ struct input::implementation : boost::noncopyable
                }\r
                \r
                auto time_base = format_context_->streams[default_stream_index_]->time_base;\r
-               target = (target*time_base.den)/time_base.num;\r
+               auto fixed_target = (target*time_base.den)/time_base.num;\r
                auto fixed_time_base = fix_time_base(time_base);\r
-               target = (target * fixed_time_base.num) / fixed_time_base.den;\r
+               fixed_target = (target * fixed_time_base.num) / fixed_time_base.den;\r
 \r
-               THROW_ON_ERROR2(avformat_seek_file(format_context_.get(), default_stream_index_, std::numeric_limits<int64_t>::min(), target, std::numeric_limits<int64_t>::max(), 0), print());                \r
+               THROW_ON_ERROR2(avformat_seek_file(format_context_.get(), default_stream_index_, std::numeric_limits<int64_t>::min(), fixed_target, std::numeric_limits<int64_t>::max(), 0), print());          \r
 \r
                is_eof_ = false;\r
                buffer_cond_.notify_all();\r