used better names

This commit is contained in:
Alex Kim
2026-01-10 02:56:28 +11:00
parent d1fdea76e8
commit 2ead569fb7
2 changed files with 18 additions and 18 deletions

View File

@@ -4,17 +4,17 @@ import CoreMedia
import CoreVideo import CoreVideo
import AVFoundation import AVFoundation
protocol MPVSoftwareRendererDelegate: AnyObject { protocol MPVLayerRendererDelegate: AnyObject {
func renderer(_ renderer: MPVSoftwareRenderer, didUpdatePosition position: Double, duration: Double) func renderer(_ renderer: MPVLayerRenderer, didUpdatePosition position: Double, duration: Double)
func renderer(_ renderer: MPVSoftwareRenderer, didChangePause isPaused: Bool) func renderer(_ renderer: MPVLayerRenderer, didChangePause isPaused: Bool)
func renderer(_ renderer: MPVSoftwareRenderer, didChangeLoading isLoading: Bool) func renderer(_ renderer: MPVLayerRenderer, didChangeLoading isLoading: Bool)
func renderer(_ renderer: MPVSoftwareRenderer, didBecomeReadyToSeek: Bool) func renderer(_ renderer: MPVLayerRenderer, didBecomeReadyToSeek: Bool)
func renderer(_ renderer: MPVSoftwareRenderer, didBecomeTracksReady: Bool) func renderer(_ renderer: MPVLayerRenderer, didBecomeTracksReady: Bool)
} }
/// MPV player using vo_avfoundation for video output. /// MPV player using vo_avfoundation for video output.
/// This renders video directly to AVSampleBufferDisplayLayer for PiP support. /// This renders video directly to AVSampleBufferDisplayLayer for PiP support.
final class MPVSoftwareRenderer { final class MPVLayerRenderer {
enum RendererError: Error { enum RendererError: Error {
case mpvCreationFailed case mpvCreationFailed
case mpvInitialization(Int32) case mpvInitialization(Int32)
@@ -36,7 +36,7 @@ final class MPVSoftwareRenderer {
private var isRunning = false private var isRunning = false
private var isStopping = false private var isStopping = false
weak var delegate: MPVSoftwareRendererDelegate? weak var delegate: MPVLayerRendererDelegate?
// Thread-safe state for playback // Thread-safe state for playback
private var _cachedDuration: Double = 0 private var _cachedDuration: Double = 0
@@ -132,7 +132,7 @@ final class MPVSoftwareRenderer {
// Setup wakeup callback // Setup wakeup callback
mpv_set_wakeup_callback(handle, { ctx in mpv_set_wakeup_callback(handle, { ctx in
guard let ctx = ctx else { return } guard let ctx = ctx else { return }
let instance = Unmanaged<MPVSoftwareRenderer>.fromOpaque(ctx).takeUnretainedValue() let instance = Unmanaged<MPVLayerRenderer>.fromOpaque(ctx).takeUnretainedValue()
instance.processEvents() instance.processEvents()
}, Unmanaged.passUnretained(self).toOpaque()) }, Unmanaged.passUnretained(self).toOpaque())

View File

@@ -38,7 +38,7 @@ struct VideoLoadConfig {
// to apply the proper styling (e.g. border radius and shadows). // to apply the proper styling (e.g. border radius and shadows).
class MpvPlayerView: ExpoView { class MpvPlayerView: ExpoView {
private let displayLayer = AVSampleBufferDisplayLayer() private let displayLayer = AVSampleBufferDisplayLayer()
private var renderer: MPVSoftwareRenderer? private var renderer: MPVLayerRenderer?
private var videoContainer: UIView! private var videoContainer: UIView!
private var pipController: PiPController? private var pipController: PiPController?
@@ -83,7 +83,7 @@ class MpvPlayerView: ExpoView {
videoContainer.bottomAnchor.constraint(equalTo: bottomAnchor) videoContainer.bottomAnchor.constraint(equalTo: bottomAnchor)
]) ])
renderer = MPVSoftwareRenderer(displayLayer: displayLayer) renderer = MPVLayerRenderer(displayLayer: displayLayer)
renderer?.delegate = self renderer?.delegate = self
// Setup PiP // Setup PiP
@@ -276,10 +276,10 @@ class MpvPlayerView: ExpoView {
} }
} }
// MARK: - MPVSoftwareRendererDelegate // MARK: - MPVLayerRendererDelegate
extension MpvPlayerView: MPVSoftwareRendererDelegate { extension MpvPlayerView: MPVLayerRendererDelegate {
func renderer(_: MPVSoftwareRenderer, didUpdatePosition position: Double, duration: Double) { func renderer(_: MPVLayerRenderer, didUpdatePosition position: Double, duration: Double) {
cachedPosition = position cachedPosition = position
cachedDuration = duration cachedDuration = duration
@@ -298,7 +298,7 @@ extension MpvPlayerView: MPVSoftwareRendererDelegate {
} }
} }
func renderer(_: MPVSoftwareRenderer, didChangePause isPaused: Bool) { func renderer(_: MPVLayerRenderer, didChangePause isPaused: Bool) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self else { return } guard let self else { return }
// Don't update intendedPlayState here - it's only set by user actions (play/pause) // Don't update intendedPlayState here - it's only set by user actions (play/pause)
@@ -314,7 +314,7 @@ extension MpvPlayerView: MPVSoftwareRendererDelegate {
} }
} }
func renderer(_: MPVSoftwareRenderer, didChangeLoading isLoading: Bool) { func renderer(_: MPVLayerRenderer, didChangeLoading isLoading: Bool) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self else { return } guard let self else { return }
self.onPlaybackStateChange([ self.onPlaybackStateChange([
@@ -323,7 +323,7 @@ extension MpvPlayerView: MPVSoftwareRendererDelegate {
} }
} }
func renderer(_: MPVSoftwareRenderer, didBecomeReadyToSeek: Bool) { func renderer(_: MPVLayerRenderer, didBecomeReadyToSeek: Bool) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self else { return } guard let self else { return }
self.onPlaybackStateChange([ self.onPlaybackStateChange([
@@ -332,7 +332,7 @@ extension MpvPlayerView: MPVSoftwareRendererDelegate {
} }
} }
func renderer(_: MPVSoftwareRenderer, didBecomeTracksReady: Bool) { func renderer(_: MPVLayerRenderer, didBecomeTracksReady: Bool) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self else { return } guard let self else { return }
self.onTracksReady([:]) self.onTracksReady([:])