From ceecbaa904b34ba4ecc909671be595c686a6cf65 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 16 Dec 2019 16:22:53 +0300 Subject: [PATCH] Continue GIFs in media overlay. --- .../media/view/media_view_overlay_widget.cpp | 12 ++++++++++++ .../media/view/media_view_overlay_widget.h | 1 + 2 files changed, 13 insertions(+) diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 35b7cee5f..da38dd32f 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -2003,6 +2003,15 @@ void OverlayWidget::initStreaming() { handleStreamingError(std::move(error)); }, _streamed->instance.lifetime()); + startStreamingPlayer(); +} + +void OverlayWidget::startStreamingPlayer() { + Expects(_streamed != nullptr); + + if (!_streamed->withSound && _streamed->instance.player().playing()) { + return; + } restartAtSeekPosition(0); } @@ -2706,6 +2715,8 @@ void OverlayWidget::checkGroupThumbsAnimation() { } void OverlayWidget::paintTransformedVideoFrame(Painter &p) { + Expects(_streamed != nullptr); + const auto rect = contentRect(); const auto image = videoFrameForDirectPaint(); //if (_fullScreenVideo) { @@ -2744,6 +2755,7 @@ void OverlayWidget::paintTransformedVideoFrame(Painter &p) { if (rotation) { p.restore(); } + _streamed->instance.markFrameShown(); //} } diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h index 95d2710c6..a12138a0e 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h @@ -259,6 +259,7 @@ private: void refreshCaptionGeometry(); void initStreaming(); + void startStreamingPlayer(); void initStreamingThumbnail(); void streamingReady(Streaming::Information &&info); void createStreamingObjects();