| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  *  Copyright 2015 The WebRTC project authors. All Rights Reserved. |   2  *  Copyright 2015 The WebRTC project authors. All Rights Reserved. | 
|   3  * |   3  * | 
|   4  *  Use of this source code is governed by a BSD-style license |   4  *  Use of this source code is governed by a BSD-style license | 
|   5  *  that can be found in the LICENSE file in the root of the source |   5  *  that can be found in the LICENSE file in the root of the source | 
|   6  *  tree. An additional intellectual property rights grant can be found |   6  *  tree. An additional intellectual property rights grant can be found | 
|   7  *  in the file PATENTS.  All contributing project authors may |   7  *  in the file PATENTS.  All contributing project authors may | 
|   8  *  be found in the AUTHORS file in the root of the source tree. |   8  *  be found in the AUTHORS file in the root of the source tree. | 
|   9  */ |   9  */ | 
|  10  |  10  | 
|  11 #import "RTCDispatcher.h" |  11 #import "RTCDispatcher.h" | 
|  12  |  12  | 
 |  13 static dispatch_queue_t kAudioSessionQueue = nil; | 
|  13 static dispatch_queue_t kCaptureSessionQueue = nil; |  14 static dispatch_queue_t kCaptureSessionQueue = nil; | 
|  14  |  15  | 
|  15 @implementation RTCDispatcher { |  16 @implementation RTCDispatcher | 
|  16   dispatch_queue_t _captureSessionQueue; |  | 
|  17 } |  | 
|  18  |  17  | 
|  19 + (void)initialize { |  18 + (void)initialize { | 
|  20   static dispatch_once_t onceToken; |  19   static dispatch_once_t onceToken; | 
|  21   dispatch_once(&onceToken, ^{ |  20   dispatch_once(&onceToken, ^{ | 
 |  21     kAudioSessionQueue = dispatch_queue_create( | 
 |  22         "org.webrtc.RTCDispatcherAudioSession", | 
 |  23         DISPATCH_QUEUE_SERIAL); | 
|  22     kCaptureSessionQueue = dispatch_queue_create( |  24     kCaptureSessionQueue = dispatch_queue_create( | 
|  23         "org.webrtc.RTCDispatcherCaptureSession", |  25         "org.webrtc.RTCDispatcherCaptureSession", | 
|  24         DISPATCH_QUEUE_SERIAL); |  26         DISPATCH_QUEUE_SERIAL); | 
|  25   }); |  27   }); | 
|  26 } |  28 } | 
|  27  |  29  | 
|  28 + (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType |  30 + (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType | 
|  29                       block:(dispatch_block_t)block { |  31                       block:(dispatch_block_t)block { | 
|  30   dispatch_queue_t queue = [self dispatchQueueForType:dispatchType]; |  32   dispatch_queue_t queue = [self dispatchQueueForType:dispatchType]; | 
|  31   dispatch_async(queue, block); |  33   dispatch_async(queue, block); | 
|  32 } |  34 } | 
|  33  |  35  | 
|  34 #pragma mark - Private |  36 #pragma mark - Private | 
|  35  |  37  | 
|  36 + (dispatch_queue_t)dispatchQueueForType:(RTCDispatcherQueueType)dispatchType { |  38 + (dispatch_queue_t)dispatchQueueForType:(RTCDispatcherQueueType)dispatchType { | 
|  37   switch (dispatchType) { |  39   switch (dispatchType) { | 
|  38     case RTCDispatcherTypeMain: |  40     case RTCDispatcherTypeMain: | 
|  39       return dispatch_get_main_queue(); |  41       return dispatch_get_main_queue(); | 
|  40     case RTCDispatcherTypeCaptureSession: |  42     case RTCDispatcherTypeCaptureSession: | 
|  41       return kCaptureSessionQueue; |  43       return kCaptureSessionQueue; | 
 |  44     case RTCDispatcherTypeAudioSession: | 
 |  45       return kAudioSessionQueue; | 
|  42   } |  46   } | 
|  43 } |  47 } | 
|  44  |  48  | 
|  45 @end |  49 @end | 
|  46  |  50  | 
| OLD | NEW |