@@ -551,6 +551,37 @@ class SettingsStreamRist: Codable {
551551 }
552552}
553553
554+ struct SettingsHttpHeader : Codable {
555+ var name : String = " "
556+ var value : String = " "
557+ }
558+
559+ class SettingsStreamWhip : Codable , ObservableObject {
560+ @Published var headers : [ SettingsHttpHeader ] = [ ]
561+
562+ init ( ) { }
563+
564+ enum CodingKeys : CodingKey {
565+ case headers
566+ }
567+
568+ func encode( to encoder: Encoder ) throws {
569+ var container = encoder. container ( keyedBy: CodingKeys . self)
570+ try container. encode ( . headers, headers)
571+ }
572+
573+ required init ( from decoder: Decoder ) throws {
574+ let container = try decoder. container ( keyedBy: CodingKeys . self)
575+ headers = container. decode ( . headers, [ SettingsHttpHeader ] . self, [ ] )
576+ }
577+
578+ func clone( ) -> SettingsStreamWhip {
579+ let new = SettingsStreamWhip ( )
580+ new. headers = headers
581+ return new
582+ }
583+ }
584+
554585class SettingsStreamChat : Codable {
555586 var bttvEmotes : Bool = false
556587 var ffzEmotes : Bool = false
@@ -1031,6 +1062,7 @@ class SettingsStream: Codable, Identifiable, Equatable, ObservableObject, Named
10311062 var srt : SettingsStreamSrt = . init( )
10321063 var rtmp : SettingsStreamRtmp = . init( )
10331064 var rist : SettingsStreamRist = . init( )
1065+ var whip : SettingsStreamWhip = . init( )
10341066 @Published var maxKeyFrameInterval : Int32 = 2
10351067 @Published var audioCodec : SettingsStreamAudioCodec = . aac
10361068 var audioBitrate : Int = 128_000
@@ -1116,6 +1148,7 @@ class SettingsStream: Codable, Identifiable, Equatable, ObservableObject, Named
11161148 srt,
11171149 rtmp,
11181150 rist,
1151+ whip,
11191152 captureSessionPresetEnabled,
11201153 captureSessionPreset,
11211154 maxKeyFrameInterval,
@@ -1200,6 +1233,7 @@ class SettingsStream: Codable, Identifiable, Equatable, ObservableObject, Named
12001233 try container. encode ( . srt, srt)
12011234 try container. encode ( . rtmp, rtmp)
12021235 try container. encode ( . rist, rist)
1236+ try container. encode ( . whip, whip)
12031237 try container. encode ( . maxKeyFrameInterval, maxKeyFrameInterval)
12041238 try container. encode ( . audioCodec, audioCodec)
12051239 try container. encode ( . audioBitrate, audioBitrate)
@@ -1293,6 +1327,7 @@ class SettingsStream: Codable, Identifiable, Equatable, ObservableObject, Named
12931327 srt = container. decode ( . srt, SettingsStreamSrt . self, . init( ) )
12941328 rtmp = container. decode ( . rtmp, SettingsStreamRtmp . self, . init( ) )
12951329 rist = container. decode ( . rist, SettingsStreamRist . self, . init( ) )
1330+ whip = container. decode ( . whip, SettingsStreamWhip . self, . init( ) )
12961331 maxKeyFrameInterval = container. decode ( . maxKeyFrameInterval, Int32 . self, 2 )
12971332 audioCodec = container. decode ( . audioCodec, SettingsStreamAudioCodec . self, . aac)
12981333 audioBitrate = container. decode ( . audioBitrate, Int . self, 128_000 )
@@ -1377,6 +1412,7 @@ class SettingsStream: Codable, Identifiable, Equatable, ObservableObject, Named
13771412 new. srt = srt. clone ( )
13781413 new. rtmp = rtmp. clone ( )
13791414 new. rist = rist. clone ( )
1415+ new. whip = whip. clone ( )
13801416 new. maxKeyFrameInterval = maxKeyFrameInterval
13811417 new. audioCodec = audioCodec
13821418 new. audioBitrate = audioBitrate
0 commit comments