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)22 std::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)36 MediaType 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