From fd7e4afcda9d661ea7efac83c460682b8aa9528c Mon Sep 17 00:00:00 2001 From: ed Date: Thu, 25 Nov 2021 16:23:31 +0000 Subject: [PATCH] macOS: Detach AVPlayer listeners before calling setPlayer --- modules/juce_video/native/juce_mac_Video.h | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/modules/juce_video/native/juce_mac_Video.h b/modules/juce_video/native/juce_mac_Video.h index 5b8d0a1a99..a2bdbe392e 100644 --- a/modules/juce_video/native/juce_mac_Video.h +++ b/modules/juce_video/native/juce_mac_Video.h @@ -487,13 +487,13 @@ private: { if (crtp().getPlayer() != nullptr && playerStatusObserver != nullptr) { - [crtp().getPlayer() removeObserver: playerStatusObserver.get() - forKeyPath: nsStringLiteral ("rate") - context: this]; + [crtp().getPlayer() removeObserver: playerStatusObserver.get() + forKeyPath: nsStringLiteral ("rate") + context: this]; - [crtp().getPlayer() removeObserver: playerStatusObserver.get() - forKeyPath: nsStringLiteral ("status") - context: this]; + [crtp().getPlayer() removeObserver: playerStatusObserver.get() + forKeyPath: nsStringLiteral ("status") + context: this]; } } @@ -626,6 +626,9 @@ private: void setPlayer (AVPlayer* player) { + detachPlayerStatusObserver(); + detachPlaybackObserver(); + #if ! JUCE_32BIT if (useNativeControls) [playerView setPlayer: player]; @@ -638,11 +641,6 @@ private: attachPlayerStatusObserver(); attachPlaybackObserver(); } - else - { - detachPlayerStatusObserver(); - detachPlaybackObserver(); - } } AVPlayer* getPlayer() const