diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-03-10 03:05:22 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-03-10 03:05:22 +0100 |
commit | 9514bba6c6bb41e304b450544c6e6b69080572a5 (patch) | |
tree | c263293631f8a4616e13bf19034e0fa1c314af24 /src/plugins/avfoundation/mediaplayer | |
parent | 19477de84a64f412bca9ce2df62ab9adb3859da2 (diff) | |
parent | 7f0a20ad066020d913faff636b8a0c5f61d2dfe0 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I4ea49723c74c6dccf141b65f834b5d539d2ab9d7
Diffstat (limited to 'src/plugins/avfoundation/mediaplayer')
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfvideowidget.mm | 17 | ||||
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfvideowindowcontrol.mm | 9 |
2 files changed, 16 insertions, 10 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfvideowidget.mm b/src/plugins/avfoundation/mediaplayer/avfvideowidget.mm index be349710c..0987342b4 100644 --- a/src/plugins/avfoundation/mediaplayer/avfvideowidget.mm +++ b/src/plugins/avfoundation/mediaplayer/avfvideowidget.mm @@ -38,12 +38,9 @@ ****************************************************************************/ #include "avfvideowidget.h" -#include <QtCore/QDebug> -#include <AVFoundation/AVFoundation.h> -#include <QtGui/QResizeEvent> -#include <QtGui/QPaintEvent> -#include <QtGui/QPainter> +#import <AVFoundation/AVFoundation.h> +#import <QuartzCore/CATransaction.h> #if defined(Q_OS_MACOS) #import <AppKit/AppKit.h> @@ -51,6 +48,11 @@ #import <UIKit/UIKit.h> #endif +#include <QtCore/QDebug> +#include <QtGui/QResizeEvent> +#include <QtGui/QPaintEvent> +#include <QtGui/QPainter> + QT_USE_NAMESPACE AVFVideoWidget::AVFVideoWidget(QWidget *parent) @@ -178,5 +180,8 @@ void AVFVideoWidget::updateAspectRatio() void AVFVideoWidget::updatePlayerLayerBounds(const QSize &size) { - m_playerLayer.bounds = CGRectMake(0.0f, 0.0f, (float)size.width(), (float)size.height()); + [CATransaction begin]; + [CATransaction setDisableActions: YES]; // disable animation/flicks + m_playerLayer.bounds = QRect(QPoint(0, 0), size).toCGRect(); + [CATransaction commit]; } diff --git a/src/plugins/avfoundation/mediaplayer/avfvideowindowcontrol.mm b/src/plugins/avfoundation/mediaplayer/avfvideowindowcontrol.mm index 7fa41fdc2..d61129ec9 100644 --- a/src/plugins/avfoundation/mediaplayer/avfvideowindowcontrol.mm +++ b/src/plugins/avfoundation/mediaplayer/avfvideowindowcontrol.mm @@ -40,6 +40,7 @@ #include "avfvideowindowcontrol.h" #include <AVFoundation/AVFoundation.h> +#import <QuartzCore/CATransaction.h> #if QT_HAS_INCLUDE(<AppKit/AppKit.h>) #include <AppKit/AppKit.h> @@ -244,10 +245,10 @@ void AVFVideoWindowControl::updateAspectRatio() void AVFVideoWindowControl::updatePlayerLayerBounds() { if (m_playerLayer) { - CGRect newBounds = CGRectMake(0, 0, - m_displayRect.width(), m_displayRect.height()); - m_playerLayer.bounds = newBounds; - m_playerLayer.position = CGPointMake(m_displayRect.x(), m_displayRect.y()); + [CATransaction begin]; + [CATransaction setDisableActions: YES]; // disable animation/flicks + m_playerLayer.frame = m_displayRect.toCGRect(); + [CATransaction commit]; } } |