         /// ICE 通信ポリシー
         public let iceTransportPolicy: ICETransportPolicy
     }
-    
+
+    public struct Encoding {
+
+        public let rid: String?
+        public let maxBitrate: Int?
+        public let maxFramerate: Double?
+        public let scaleResolutionDownBy: Double?
+
+        public var rtpEncodingParameters: RTCRtpEncodingParameters {
+            get {
+                let params = RTCRtpEncodingParameters()
+                params.rid = rid
+                if let value = maxBitrate {
+                    params.maxBitrateBps = NSNumber(value: value)
+                }
+                if let value = maxFramerate {
+                    params.maxFramerate = NSNumber(value: value)
+                }
+                if let value = scaleResolutionDownBy {
+                    params.scaleResolutionDownBy = NSNumber(value: value)
+                }
+                return params
+            }
+        }
+
+    }
+
     /// クライアント ID
     public let clientId: String
     

        case sdp
        case config
        case metadata
    }
    
    public init(from decoder: Decoder) throws {

import Foundation
import WebRTC

/**
 シグナリングの種別です。
