From 1ca641453193391759b740616ead0ddd7c49e30d Mon Sep 17 00:00:00 2001 From: wuyueyang Date: Thu, 3 Jun 2021 23:04:14 +0800 Subject: [PATCH] Log player error when encountered --- .../Controllers/Chat/Views/GalleryVideoView.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Mixin/UserInterface/Controllers/Chat/Views/GalleryVideoView.swift b/Mixin/UserInterface/Controllers/Chat/Views/GalleryVideoView.swift index 6fc2e2c59a..093c097235 100644 --- a/Mixin/UserInterface/Controllers/Chat/Views/GalleryVideoView.swift +++ b/Mixin/UserInterface/Controllers/Chat/Views/GalleryVideoView.swift @@ -1,5 +1,6 @@ import UIKit import AVFoundation +import MixinServices final class GalleryVideoView: UIView, GalleryAnimatable { @@ -22,6 +23,8 @@ final class GalleryVideoView: UIView, GalleryAnimatable { } } + private var playerStatusObserver: NSKeyValueObservation? + required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) prepare() @@ -74,6 +77,15 @@ final class GalleryVideoView: UIView, GalleryAnimatable { playerView.backgroundColor = .clear playerView.layer.videoGravity = .resizeAspect playerView.layer.player = player + playerStatusObserver = player.observe(\.status) { player, _ in + if player.status == .failed { + if let error = player.error { + Logger.write(error: error) + } else { + Logger.write(log: "[GalleryVideoView] Player reports failed but no error is provided") + } + } + } contentView.addSubview(coverImageView) contentView.addSubview(playerView)