diff --git a/Telegram/SourceFiles/media/view/media_view_pip.cpp b/Telegram/SourceFiles/media/view/media_view_pip.cpp index 4fb4baeb5..f026db604 100644 --- a/Telegram/SourceFiles/media/view/media_view_pip.cpp +++ b/Telegram/SourceFiles/media/view/media_view_pip.cpp @@ -1152,7 +1152,7 @@ void Pip::paint(QPainter &p, FrameRequest request) { } else { p.drawImage(rect, RotateFrameImage(image, _rotation)); } - if (_instance.player().ready()) { + if (canUseVideoFrame()) { _instance.markFrameShown(); } paintRadialLoading(p); @@ -1377,8 +1377,13 @@ void Pip::restartAtSeekPosition(crl::time position) { updatePlaybackState(); } +bool Pip::canUseVideoFrame() const { + return _instance.player().ready() + && !_instance.info().video.cover.isNull(); +} + QImage Pip::videoFrame(const FrameRequest &request) const { - if (_instance.player().ready()) { + if (canUseVideoFrame()) { _preparedCoverStorage = QImage(); return _instance.frame(request); } diff --git a/Telegram/SourceFiles/media/view/media_view_pip.h b/Telegram/SourceFiles/media/view/media_view_pip.h index 6552b1bed..747139a48 100644 --- a/Telegram/SourceFiles/media/view/media_view_pip.h +++ b/Telegram/SourceFiles/media/view/media_view_pip.h @@ -169,6 +169,7 @@ private: void updatePlayPauseResumeState(const Player::TrackState &state); void restartAtSeekPosition(crl::time position); + [[nodiscard]] bool canUseVideoFrame() const; [[nodiscard]] QImage videoFrame(const FrameRequest &request) const; [[nodiscard]] QImage videoFrameForDirectPaint( const FrameRequest &request) const;