@@ -29,17 +29,14 @@ import UIKit
2929
3030final class MediaSession {
3131
32- typealias Input = MediaSessionInput
3332
34- typealias Output = MediaSessionOutput
33+ enum VideoInput : VideoMediaSessionInput {
3534
36- enum VideoInput : Input . Video {
35+ case pixel ( _ input : MediaSessionInput_PixelBufferVideo )
3736
38- case pixel ( _ input: Input . PixelBufferVideo )
37+ case sample ( _ input: MediaSessionInput_SampleBufferVideo )
3938
40- case sample( _ input: Input . SampleBufferVideo )
41-
42- var videoInput : Input . Video {
39+ var videoInput : VideoMediaSessionInput {
4340 switch self {
4441 case . pixel( let input) : return input
4542 case . sample( let input) : return input
@@ -61,15 +58,15 @@ final class MediaSession {
6158
6259 let queue : DispatchQueue
6360
64- @UnfairAtomic var videoOutputs = [ Output . Video ] ( )
61+ @UnfairAtomic var videoOutputs = [ VideoMediaSessionOutput ] ( )
6562
66- @UnfairAtomic var audioOutputs = [ Output . Audio ] ( )
63+ @UnfairAtomic var audioOutputs = [ AudioMediaSessionOutput ] ( )
6764
6865 @Observable var error : Swift . Error ?
6966
7067 let videoInput : VideoInput
7168
72- private( set) var audioInput : Input . SampleBufferAudio ?
69+ private( set) var audioInput : MediaSessionInput_SampleBufferAudio ?
7370
7471 init (
7572 queue: DispatchQueue ,
@@ -81,7 +78,7 @@ final class MediaSession {
8178
8279 convenience init (
8380 queue: DispatchQueue ,
84- videoInput: Input . PixelBufferVideo
81+ videoInput: MediaSessionInput_PixelBufferVideo
8582 ) {
8683 self . init ( queue: queue, videoInput: . pixel( videoInput) )
8784
@@ -93,7 +90,7 @@ final class MediaSession {
9390
9491 convenience init (
9592 queue: DispatchQueue ,
96- videoInput: Input . SampleBufferVideo
93+ videoInput: MediaSessionInput_SampleBufferVideo
9794 ) {
9895 self . init ( queue: queue, videoInput: . sample( videoInput) )
9996
@@ -103,7 +100,7 @@ final class MediaSession {
103100 }
104101 }
105102
106- func setAudioInput( _ audioInput: Input . SampleBufferAudio ) {
103+ func setAudioInput( _ audioInput: MediaSessionInput_SampleBufferAudio ) {
107104 self . audioInput = audioInput
108105 audioInput. output = { [ weak self] ( sampleBuffer) in
109106 guard let self = self else { return }
@@ -206,28 +203,28 @@ extension MediaSession {
206203
207204extension MediaSession {
208205
209- func addVideoOutput( _ videoOutput: MediaSession . Output . Video ) {
206+ func addVideoOutput( _ videoOutput: VideoMediaSessionOutput ) {
210207 if ( $videoOutputs. modify {
211208 $0. append ( videoOutput)
212209 return $0. count == 1
213210 } ) { videoInput. start ( ) }
214211 }
215212
216- func removeVideoOutput( _ videoOutput: MediaSession . Output . Video ) {
213+ func removeVideoOutput( _ videoOutput: VideoMediaSessionOutput ) {
217214 if ( $videoOutputs. modify {
218215 $0 = $0. filter { $0 !== videoOutput }
219216 return $0. count == 0
220217 } ) { videoInput. stop ( ) }
221218 }
222219
223- func addAudioOutput( _ audioOutput: MediaSession . Output . Audio ) {
220+ func addAudioOutput( _ audioOutput: AudioMediaSessionOutput ) {
224221 if ( $audioOutputs. modify {
225222 $0. append ( audioOutput)
226223 return $0. count == 1
227224 } ) { audioInput? . start ( ) }
228225 }
229226
230- func removeAudioOutput( _ audioOutput: MediaSession . Output . Audio ) {
227+ func removeAudioOutput( _ audioOutput: AudioMediaSessionOutput ) {
231228 if ( $audioOutputs. modify {
232229 $0 = $0. filter { $0 !== audioOutput }
233230 return $0. count == 0
0 commit comments