mirror of
https://github.com/HaishinKit/HaishinKit.swift.git
synced 2026-05-07 20:12:28 +00:00
36 lines
1.1 KiB
Swift
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()
|
|
}
|
|
}
|