1 /* 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 15 static 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 38