1 /* 2 * Copyright 2016 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 #include "api/mediatypes.h" 12 13 #include "api/mediastreaminterface.h" 14 #include "rtc_base/checks.h" 15 16 namespace { 17 static const char* kMediaTypeData = "data"; 18 } // namespace 19 20 namespace cricket { 21 MediaTypeToString(MediaType type)22std::string MediaTypeToString(MediaType type) { 23 switch (type) { 24 case MEDIA_TYPE_AUDIO: 25 return webrtc::MediaStreamTrackInterface::kAudioKind; 26 case MEDIA_TYPE_VIDEO: 27 return webrtc::MediaStreamTrackInterface::kVideoKind; 28 case MEDIA_TYPE_DATA: 29 return kMediaTypeData; 30 } 31 FATAL(); 32 // Not reachable; avoids compile warning. 33 return ""; 34 } 35 MediaTypeFromString(const std::string & type_str)36MediaType MediaTypeFromString(const std::string& type_str) { 37 if (type_str == webrtc::MediaStreamTrackInterface::kAudioKind) { 38 return MEDIA_TYPE_AUDIO; 39 } else if (type_str == webrtc::MediaStreamTrackInterface::kVideoKind) { 40 return MEDIA_TYPE_VIDEO; 41 } else if (type_str == kMediaTypeData) { 42 return MEDIA_TYPE_DATA; 43 } 44 FATAL(); 45 // Not reachable; avoids compile warning. 46 return static_cast<MediaType>(-1); 47 } 48 49 } // namespace cricket 50