Files
HaishinKit.swift/MoQTHaishinKit/Sources/DataStream/MoQTStreamHeaderSubgroup.swift
2024-11-29 23:10:03 +09:00

36 lines
1.1 KiB
Swift

import Foundation
public struct MoQTStreamHeaderSubgroup: MoQTDataStream {
public let type: MoQTDataStreamType = .streamHeaderSubgroup
public let trackAlias: Int
public let groupId: Int
public let subgroupId: Int
public let publisherPriority: Int
public var payload: Data {
get throws {
var payload = MoQTPayload()
payload.putInt(type.rawValue)
payload.putInt(trackAlias)
payload.putInt(groupId)
payload.putInt(subgroupId)
payload.putInt(publisherPriority)
return payload.data
}
}
public init(trackAlias: Int, groupId: Int, subgroupId: Int, publisherPriority: Int) {
self.trackAlias = trackAlias
self.groupId = groupId
self.subgroupId = subgroupId
self.publisherPriority = publisherPriority
}
init(_ payload: inout MoQTPayload) throws {
trackAlias = try payload.getInt()
groupId = try payload.getInt()
subgroupId = try payload.getInt()
publisherPriority = try payload.getInt()
}
}