HaishinKit.swift/Sources/ISO/DecoderSpecificInfo.swift

34 lines
862 B
Swift

import Foundation
struct DecoderSpecificInfo: BaseDescriptor {
static let tag: UInt8 = 0x05
// MARK: BaseDescriptor
let tag: UInt8 = Self.tag
var size: UInt32 = 0
// MARK: DecoderConfigDescriptor
private var _data = Data()
}
extension DecoderSpecificInfo: DataConvertible {
var data: Data {
get {
let buffer = ByteArray()
.writeUInt8(tag)
.writeUInt32(0)
.writeBytes(_data)
writeSize(buffer)
return buffer.data
}
set {
do {
let buffer = ByteArray(data: newValue)
_ = try buffer.readUInt8()
size = try readSize(buffer)
_data = try buffer.readBytes(Int(size))
} catch {
logger.error(error)
}
}
}
}