blob: c90373569312d3a1e966a9a813882a4b28c7b38b [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
Donald E Curtisa8736442015-08-05 15:48:13 -070013static NSString const *kRTCMediaConstraintsMandatoryKey = @"mandatory";
14
15@implementation RTCMediaConstraints (JSON)
16
17+ (RTCMediaConstraints *)constraintsFromJSONDictionary:
18 (NSDictionary *)dictionary {
19 NSDictionary *mandatory = dictionary[kRTCMediaConstraintsMandatoryKey];
hjon79858f82016-03-13 22:08:26 -070020 NSMutableDictionary *mandatoryContraints =
21 [NSMutableDictionary dictionaryWithCapacity:[mandatory count]];
Donald E Curtisa8736442015-08-05 15:48:13 -070022 [mandatory enumerateKeysAndObjectsUsingBlock:^(
23 id key, id obj, BOOL *stop) {
hjon79858f82016-03-13 22:08:26 -070024 mandatoryContraints[key] = obj;
Donald E Curtisa8736442015-08-05 15:48:13 -070025 }];
26 // TODO(tkchin): figure out json formats for optional constraints.
27 RTCMediaConstraints *constraints =
28 [[RTCMediaConstraints alloc]
29 initWithMandatoryConstraints:mandatoryContraints
30 optionalConstraints:nil];
31 return constraints;
32}
33
34@end