OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2014 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 "RTCMediaConstraints+JSON.h" | 11 #import "RTCMediaConstraints+JSON.h" |
12 | 12 |
13 #import "RTCPair.h" | |
14 | |
15 static NSString const *kRTCMediaConstraintsMandatoryKey = @"mandatory"; | 13 static NSString const *kRTCMediaConstraintsMandatoryKey = @"mandatory"; |
16 | 14 |
17 @implementation RTCMediaConstraints (JSON) | 15 @implementation RTCMediaConstraints (JSON) |
18 | 16 |
19 + (RTCMediaConstraints *)constraintsFromJSONDictionary: | 17 + (RTCMediaConstraints *)constraintsFromJSONDictionary: |
20 (NSDictionary *)dictionary { | 18 (NSDictionary *)dictionary { |
21 NSDictionary *mandatory = dictionary[kRTCMediaConstraintsMandatoryKey]; | 19 NSDictionary *mandatory = dictionary[kRTCMediaConstraintsMandatoryKey]; |
22 NSMutableArray *mandatoryContraints = | 20 NSMutableDictionary *mandatoryContraints = |
23 [NSMutableArray arrayWithCapacity:[mandatory count]]; | 21 [NSMutableDictionary dictionaryWithCapacity:[mandatory count]]; |
24 [mandatory enumerateKeysAndObjectsUsingBlock:^( | 22 [mandatory enumerateKeysAndObjectsUsingBlock:^( |
25 id key, id obj, BOOL *stop) { | 23 id key, id obj, BOOL *stop) { |
26 [mandatoryContraints addObject:[[RTCPair alloc] initWithKey:key | 24 mandatoryContraints[key] = obj; |
27 value:obj]]; | |
28 }]; | 25 }]; |
29 // TODO(tkchin): figure out json formats for optional constraints. | 26 // TODO(tkchin): figure out json formats for optional constraints. |
30 RTCMediaConstraints *constraints = | 27 RTCMediaConstraints *constraints = |
31 [[RTCMediaConstraints alloc] | 28 [[RTCMediaConstraints alloc] |
32 initWithMandatoryConstraints:mandatoryContraints | 29 initWithMandatoryConstraints:mandatoryContraints |
33 optionalConstraints:nil]; | 30 optionalConstraints:nil]; |
34 return constraints; | 31 return constraints; |
35 } | 32 } |
36 | 33 |
37 @end | 34 @end |
OLD | NEW |