Address tkchin's comments on RTCCameraVideoCapturer.

BUG=webrtc:7177

Review-Url: https://codereview.webrtc.org/2800853006
Cr-Commit-Position: refs/heads/master@{#17986}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m
index 16ddc13..9a0b40f 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m
@@ -361,6 +361,8 @@
 #pragma mark - Private, called inside capture queue
 
 - (void)updateDeviceCaptureFormat:(AVCaptureDeviceFormat *)format fps:(int)fps {
+  NSAssert([RTCDispatcher isOnQueueForType:RTCDispatcherTypeCaptureSession],
+           @"updateDeviceCaptureFormat must be called on the capture queue.");
   @try {
     _currentDevice.activeFormat = format;
     _currentDevice.activeVideoMinFrameDuration = CMTimeMake(1, fps);
@@ -371,6 +373,8 @@
 }
 
 - (void)reconfigureCaptureSessionInput {
+  NSAssert([RTCDispatcher isOnQueueForType:RTCDispatcherTypeCaptureSession],
+           @"reconfigureCaptureSessionInput must be called on the capture queue.");
   NSError *error = nil;
   AVCaptureDeviceInput *input =
       [AVCaptureDeviceInput deviceInputWithDevice:_currentDevice error:&error];
@@ -391,6 +395,8 @@
 }
 
 - (void)updateOrientation {
+  NSAssert([RTCDispatcher isOnQueueForType:RTCDispatcherTypeCaptureSession],
+           @"updateOrientation must be called on the capture queue.");
 #if TARGET_OS_IPHONE
   BOOL usingFrontCamera = _currentDevice.position == AVCaptureDevicePositionFront;
   switch ([UIDevice currentDevice].orientation) {
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
index 94176ac..530e51a 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
@@ -33,6 +33,17 @@
   dispatch_async(queue, block);
 }
 
++ (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType {
+  dispatch_queue_t targetQueue = [self dispatchQueueForType:dispatchType];
+  const char* targetLabel = dispatch_queue_get_label(targetQueue);
+  const char* currentLabel = dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL);
+
+  NSAssert(strlen(targetLabel) > 0, @"Label is required for the target queue.");
+  NSAssert(strlen(currentLabel) > 0, @"Label is required for the current queue.");
+
+  return strcmp(targetLabel, currentLabel) == 0;
+}
+
 #pragma mark - Private
 
 + (dispatch_queue_t)dispatchQueueForType:(RTCDispatcherQueueType)dispatchType {