 import CoreMedia
 import WebRTC
 
+/**
+ 映像フレームの種別です。
+ 現在の実装では次の映像フレームに対応しています。
+ 
+ - ネイティブの映像フレーム (`RTCVideoFrame`)
+ - スナップショット (`Snapshot`)
+ - `CMSampleBuffer` (`RTCVideoFrame` に変換されます)
+ 
+ */
 public enum VideoFrame {
     
-    public init?(from sampleBuffer: CMSampleBuffer) {
-        guard let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else {
-            return nil
-        }
-        let timeStamp = CMTimeGetSeconds(CMSampleBufferGetPresentationTimeStamp(sampleBuffer))
-        let timeStampNs = Int64(timeStamp * 1_000_000_000)
-        let frame = RTCVideoFrame(pixelBuffer: pixelBuffer, rotation: RTCVideoRotation._0, timeStampNs: timeStampNs)
-        self = .native(capturer: nil, frame: frame)
-    }
+    // MARK: - 定義
     
+    /// ネイティブの映像フレーム。
+    /// `CMSampleBuffer` から生成した映像フレームは、ネイティブの映像フレームに変換されます。
     case native(capturer: RTCVideoCapturer?, frame: RTCVideoFrame)
+    
+    /// スナップショット
     case snapshot(Snapshot)
     
+    // MARK: - プロパティ
+    
+    /// 映像フレームの幅
     public var width: Int {
         get {
             switch self {

        }
    }

}

        }
    }

    /// 映像フレームの生成日時
    public var timestamp: CMTime? {
        get {
            switch self {
