blob: b03773e7db9e50f61cef68a1c679daefd785cab0 [file] [log] [blame]
Donald E Curtisa8736442015-08-05 15:48:13 -07001/*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#import "RTCMediaConstraints+JSON.h"
12
13#import "RTCPair.h"
14
15static NSString const *kRTCMediaConstraintsMandatoryKey = @"mandatory";
16
17@implementation RTCMediaConstraints (JSON)
18
19+ (RTCMediaConstraints *)constraintsFromJSONDictionary:
20 (NSDictionary *)dictionary {
21 NSDictionary *mandatory = dictionary[kRTCMediaConstraintsMandatoryKey];
22 NSMutableArray *mandatoryContraints =
23 [NSMutableArray arrayWithCapacity:[mandatory count]];
24 [mandatory enumerateKeysAndObjectsUsingBlock:^(
25 id key, id obj, BOOL *stop) {
26 [mandatoryContraints addObject:[[RTCPair alloc] initWithKey:key
27 value:obj]];
28 }];
29 // TODO(tkchin): figure out json formats for optional constraints.
30 RTCMediaConstraints *constraints =
31 [[RTCMediaConstraints alloc]
32 initWithMandatoryConstraints:mandatoryContraints
33 optionalConstraints:nil];
34 return constraints;
35}
36
37@end