Skip to content

Commit 3c3632c

Browse files
author
Isaac
committed
Revert "Fix channel video playback on iOS. < 17.5"
This reverts commit 8b89834.
1 parent 41ac4b5 commit 3c3632c

File tree

3 files changed

+10
-37
lines changed

3 files changed

+10
-37
lines changed

submodules/MediaPlayer/Sources/ChunkMediaPlayerV2.swift

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,10 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
9191
private let renderSynchronizer: AVSampleBufferRenderSynchronizer
9292
private var videoRenderer: AVSampleBufferDisplayLayer
9393
private var audioRenderer: AVSampleBufferAudioRenderer?
94-
private weak var videoNode: MediaPlayerNode?
9594

9695
private var partsState = ChunkMediaPlayerPartsState(duration: nil, parts: [])
9796
private var loadedParts: [LoadedPart] = []
9897
private var loadedPartsMediaData: QueueLocalObject<LoadedPartsMediaData>
99-
private var reportedDidEnqueueVideo: Bool = false
10098
private var hasSound: Bool = false
10199

102100
private var statusValue: MediaPlayerStatus? {
@@ -175,7 +173,6 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
175173
assertionFailure()
176174
}
177175
self.videoRenderer = playerNode.videoLayer ?? AVSampleBufferDisplayLayer()
178-
self.videoNode = playerNode
179176

180177
self.updateTimer = Foundation.Timer.scheduledTimer(withTimeInterval: 1.0 / 60.0, repeats: true, block: { [weak self] _ in
181178
guard let self else {
@@ -680,8 +677,8 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
680677

681678
videoTarget.requestMediaDataWhenReady(on: self.dataQueue.queue, using: { [weak self] in
682679
if let loadedPartsMediaData = loadedPartsMediaData.unsafeGet() {
683-
let fillResult = ChunkMediaPlayerV2.fillRendererBuffer(bufferTarget: videoTarget, loadedPartsMediaData: loadedPartsMediaData, isVideo: true)
684-
if fillResult.isReadyForMoreData {
680+
let bufferIsReadyForMoreData = ChunkMediaPlayerV2.fillRendererBuffer(bufferTarget: videoTarget, loadedPartsMediaData: loadedPartsMediaData, isVideo: true)
681+
if bufferIsReadyForMoreData {
685682
videoTarget.stopRequestingMediaData()
686683
Queue.mainQueue().async {
687684
guard let self else {
@@ -698,12 +695,11 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
698695
if !self.audioIsRequestingMediaData, let audioRenderer = self.audioRenderer {
699696
self.audioIsRequestingMediaData = true
700697
let loadedPartsMediaData = self.loadedPartsMediaData
701-
let reportedDidEnqueueVideo = self.reportedDidEnqueueVideo
702698
let audioTarget = audioRenderer
703699
audioTarget.requestMediaDataWhenReady(on: self.dataQueue.queue, using: { [weak self] in
704700
if let loadedPartsMediaData = loadedPartsMediaData.unsafeGet() {
705-
let fillResult = ChunkMediaPlayerV2.fillRendererBuffer(bufferTarget: audioTarget, loadedPartsMediaData: loadedPartsMediaData, isVideo: false)
706-
if fillResult.isReadyForMoreData {
701+
let bufferIsReadyForMoreData = ChunkMediaPlayerV2.fillRendererBuffer(bufferTarget: audioTarget, loadedPartsMediaData: loadedPartsMediaData, isVideo: false)
702+
if bufferIsReadyForMoreData {
707703
audioTarget.stopRequestingMediaData()
708704
Queue.mainQueue().async {
709705
guard let self else {
@@ -713,28 +709,13 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
713709
self.updateInternalState()
714710
}
715711
}
716-
if fillResult.didEnqueue && !reportedDidEnqueueVideo {
717-
Queue.mainQueue().async {
718-
guard let self else {
719-
return
720-
}
721-
self.reportedDidEnqueueVideo = true
722-
if #available(iOS 17.4, *) {
723-
} else {
724-
if let videoNode = self.videoNode {
725-
videoNode.notifyHasSentFramesToDisplay()
726-
}
727-
}
728-
}
729-
}
730712
}
731713
})
732714
}
733715
}
734716

735-
private static func fillRendererBuffer(bufferTarget: AVQueuedSampleBufferRendering, loadedPartsMediaData: LoadedPartsMediaData, isVideo: Bool) -> (isReadyForMoreData: Bool, didEnqueue: Bool) {
717+
private static func fillRendererBuffer(bufferTarget: AVQueuedSampleBufferRendering, loadedPartsMediaData: LoadedPartsMediaData, isVideo: Bool) -> Bool {
736718
var bufferIsReadyForMoreData = true
737-
var didEnqeue = false
738719
outer: while true {
739720
if !bufferTarget.isReadyForMoreMediaData {
740721
bufferIsReadyForMoreData = false
@@ -774,7 +755,9 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
774755
continue outer
775756
}
776757
}
777-
didEnqeue = true
758+
/*if isVideo {
759+
print("Enqueue \(isVideo ? "video" : "audio") at \(CMSampleBufferGetPresentationTimeStamp(sampleBuffer).seconds) \(CMSampleBufferGetPresentationTimeStamp(sampleBuffer).value)/\(CMSampleBufferGetPresentationTimeStamp(sampleBuffer).timescale) next \(CMSampleBufferGetPresentationTimeStamp(sampleBuffer).value + CMSampleBufferGetDuration(sampleBuffer).value)")
760+
}*/
778761
bufferTarget.enqueue(sampleBuffer)
779762
hasData = true
780763
continue outer
@@ -787,7 +770,7 @@ public final class ChunkMediaPlayerV2: ChunkMediaPlayer {
787770
}
788771
}
789772

790-
return (bufferIsReadyForMoreData, didEnqeue)
773+
return bufferIsReadyForMoreData
791774
}
792775
}
793776

submodules/MediaPlayer/Sources/MediaPlayerNode.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -444,11 +444,4 @@ public final class MediaPlayerNode: ASDisplayNode {
444444
}
445445
self.updateVideoInHierarchy?(self.videoInHierarchy || self.canPlaybackWithoutHierarchy)
446446
}
447-
448-
func notifyHasSentFramesToDisplay() {
449-
if !self.didNotifyVideoLayerReadyForDisplay {
450-
self.didNotifyVideoLayerReadyForDisplay = true
451-
self.hasSentFramesToDisplay?()
452-
}
453-
}
454447
}

submodules/TelegramUniversalVideoContent/Sources/HLSVideoContent.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public struct HLSCodecConfiguration {
2828
public extension HLSCodecConfiguration {
2929
init(context: AccountContext) {
3030
var isSoftwareAv1Supported = false
31+
var isHardwareAv1Supported = false
3132

3233
var length: Int = 4
3334
var cpuCount: UInt32 = 0
@@ -43,10 +44,6 @@ public extension HLSCodecConfiguration {
4344
isSoftwareAv1Supported = value != 0.0
4445
}
4546

46-
if "".isEmpty {
47-
isSoftwareAv1Supported = false
48-
}
49-
5047
self.init(isHardwareAv1Supported: isHardwareAv1Supported, isSoftwareAv1Supported: isSoftwareAv1Supported)
5148
}
5249
}

0 commit comments

Comments
 (0)