     public func start(format: AVCaptureDevice.Format,
                       frameRate: Int,
                       completionHandler: @escaping ((Error?) -> Void)) {
-        guard !isRunning else {
-            completionHandler(CameraVideoCapturer.unexpectedIsRunningError(action: "start", isRunning: isRunning))
+
+        guard CameraVideoCapturer.current != nil else {
+            completionHandler(SoraError.cameraError(reason: "CameraVideoCapturer.current should be nil to execute CmaeraVideoCapturer.start"))
             return
         }
         

    public private(set) var settings: Any?
    
    /// カメラの位置
    @available(*, unavailable, message: "position は廃止されました。")
    public var position: AVCaptureDevice.Position = .front

    /// 使用中のカメラの位置に対応するデバイス
    /// captureDevice に変更されました

        return nil
    }
    
    /// 指定された設定に最も近い  AVCaptureDevice.Format? を返す
    public static func format(width: Int32, height: Int32, for device: AVCaptureDevice) -> AVCaptureDevice.Format? {
        let formats = RTCCameraVideoCapturer.supportedFormats(for: device)
        var currentFormat: AVCaptureDevice.Format? = nil
        var currentDiff = INT_MAX
