Video streaming test

This commit is contained in:
Isaac
2024-09-27 21:28:13 +08:00
parent 2d452213d5
commit e7c58efe3f
3 changed files with 81 additions and 4 deletions

View File

@@ -92,6 +92,20 @@ final class MediaBoxPartialFile {
return fd.readData(count: Int(clippedRange.upperBound - clippedRange.lowerBound))
}
static func internal_extractPartialData(manager: MediaBoxFileManager, path: String, metaPath: String, range: Range<Int64>) -> (file: ManagedFile, length: Int)? {
guard let fd = ManagedFile(queue: nil, path: path, mode: .read) else {
return nil
}
guard let fileMap = try? MediaBoxFileMap.read(manager: manager, path: metaPath) else {
return nil
}
guard let clippedRange = fileMap.contains(range) else {
return nil
}
let _ = fd.seek(position: Int64(clippedRange.lowerBound))
return (fd, Int(clippedRange.upperBound - clippedRange.lowerBound))
}
var storedSize: Int64 {
assert(self.queue.isCurrent())
return self.fileMap.sum