diff --git a/Telegram/SourceFiles/history/history_media_types.cpp b/Telegram/SourceFiles/history/history_media_types.cpp index 73636e598..7b323551b 100644 --- a/Telegram/SourceFiles/history/history_media_types.cpp +++ b/Telegram/SourceFiles/history/history_media_types.cpp @@ -2297,7 +2297,17 @@ void HistoryGif::updateStatusText() const { statusSize = FileStatusSizeLoaded; if (_gif && _gif->mode() == Media::Clip::Reader::Mode::Video) { auto state = Media::Player::mixer()->currentState(AudioMsgId::Type::Video); - statusSize = -1 - (state.position / state.frequency); + if (state.length) { + auto position = int64(0); + if (!Media::Player::IsStopped(state.state) && state.state != Media::Player::State::Finishing) { + position = state.position; + } else if (state.state == Media::Player::State::StoppedAtEnd) { + position = state.length; + } + statusSize = -1 - ((state.length - position) / state.frequency); + } else { + statusSize = -1 - _data->duration(); + } } } else { statusSize = FileStatusSizeReady;