mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-17 07:37:51 +01:00

TBR=sakal@webrtc.org Bug: webrtc:6597,webrtc:8534 Change-Id: I39f96d9e0e6d604051b1cc13368dd44fc82b30b0 Reviewed-on: https://webrtc-review.googlesource.com/23622 Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Commit-Queue: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20719}
86 lines
2.2 KiB
Java
86 lines
2.2 KiB
Java
/*
|
|
* Copyright 2013 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
package org.webrtc;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Description of media constraints for {@code MediaStream} and
|
|
* {@code PeerConnection}.
|
|
*/
|
|
public class MediaConstraints {
|
|
/** Simple String key/value pair. */
|
|
public static class KeyValuePair {
|
|
private final String key;
|
|
private final String value;
|
|
|
|
public KeyValuePair(String key, String value) {
|
|
this.key = key;
|
|
this.value = value;
|
|
}
|
|
|
|
public String getKey() {
|
|
return key;
|
|
}
|
|
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return key + ": " + value;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object other) {
|
|
if (this == other) {
|
|
return true;
|
|
}
|
|
if (other == null || getClass() != other.getClass()) {
|
|
return false;
|
|
}
|
|
KeyValuePair that = (KeyValuePair) other;
|
|
return key.equals(that.key) && value.equals(that.value);
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return key.hashCode() + value.hashCode();
|
|
}
|
|
}
|
|
|
|
public final List<KeyValuePair> mandatory;
|
|
public final List<KeyValuePair> optional;
|
|
|
|
public MediaConstraints() {
|
|
mandatory = new ArrayList<KeyValuePair>();
|
|
optional = new ArrayList<KeyValuePair>();
|
|
}
|
|
|
|
private static String stringifyKeyValuePairList(List<KeyValuePair> list) {
|
|
StringBuilder builder = new StringBuilder("[");
|
|
for (KeyValuePair pair : list) {
|
|
if (builder.length() > 1) {
|
|
builder.append(", ");
|
|
}
|
|
builder.append(pair.toString());
|
|
}
|
|
return builder.append("]").toString();
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "mandatory: " + stringifyKeyValuePairList(mandatory) + ", optional: "
|
|
+ stringifyKeyValuePairList(optional);
|
|
}
|
|
}
|