Browse Source

macOS: Detach AVPlayer listeners before calling setPlayer

v6.1.6
ed 3 years ago
parent
commit
fd7e4afcda
1 changed files with 9 additions and 11 deletions
  1. +9
    -11
      modules/juce_video/native/juce_mac_Video.h

+ 9
- 11
modules/juce_video/native/juce_mac_Video.h View File

@@ -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


Loading…
Cancel
Save