Chromium Code Reviews| Index: webrtc/base/objc/RTCDispatcher.m |
| diff --git a/webrtc/base/objc/RTCDispatcher.m b/webrtc/base/objc/RTCDispatcher.m |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6e27975cdacde702f158422b9ac39026b2829ee4 |
| --- /dev/null |
| +++ b/webrtc/base/objc/RTCDispatcher.m |
| @@ -0,0 +1,46 @@ |
| +/* |
| + * Copyright 2015 The WebRTC project authors. All Rights Reserved. |
| + * |
| + * Use of this source code is governed by a BSD-style license |
| + * that can be found in the LICENSE file in the root of the source |
| + * tree. An additional intellectual property rights grant can be found |
| + * in the file PATENTS. All contributing project authors may |
| + * be found in the AUTHORS file in the root of the source tree. |
| + */ |
| + |
| +#import "RTCDispatcher.h" |
| + |
| +static dispatch_queue_t kCaptureSessionQueue = nil; |
| + |
| +@implementation RTCDispatcher { |
| + dispatch_queue_t _captureSessionQueue; |
| +} |
| + |
| ++ (void)initialize { |
| + static dispatch_once_t onceToken; |
| + dispatch_once(&onceToken, ^{ |
| + kCaptureSessionQueue = dispatch_queue_create( |
| + "com.google.webrtc.RTCDispatcherCaptureSession", |
|
jiayl1
2015/12/07 22:50:53
Should this be "org.webrtc.XXX"?
Chuck
2015/12/07 23:02:16
Seems reasonable. I moved this code from talk/app/
Chuck
2015/12/07 23:03:51
Oops, my reply may have been ambiguous, I changed
|
| + DISPATCH_QUEUE_SERIAL); |
| + }); |
| +} |
| + |
| ++ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType |
| + block:(dispatch_block_t)block { |
| + dispatch_queue_t queue = [self dispatchQueueForType:dispatchType]; |
| + dispatch_async(queue, block); |
| +} |
| + |
| +#pragma mark - Private |
| + |
| ++ (dispatch_queue_t)dispatchQueueForType:(RTCDispatcherQueueType)dispatchType { |
| + switch (dispatchType) { |
| + case RTCDispatcherTypeMain: |
| + return dispatch_get_main_queue(); |
| + case RTCDispatcherTypeCaptureSession: |
| + return kCaptureSessionQueue; |
| + } |
| +} |
| + |
| +@end |
| + |