Merge "seek expection handling bug" into tizen_2.2
[platform/framework/native/media.git] / src / FMedia_AudioManagerConvert.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License)
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16
17 #include <sound_manager.h>
18 #include <FBaseSysLog.h>
19 #include "FMedia_AudioManagerConvert.h"
20
21 namespace Tizen{
22 namespace Media{
23
24
25
26 audio_channel_e
27 _AudioManagerConvert::ConvertChannelType(AudioChannelType audioChannelType)
28 {
29         switch (audioChannelType)
30         {
31         case AUDIO_CHANNEL_TYPE_MONO:
32                 return AUDIO_CHANNEL_MONO;
33                 break;
34
35         case AUDIO_CHANNEL_TYPE_STEREO:
36                 return AUDIO_CHANNEL_STEREO;
37                 break;
38
39         default:
40                 return AUDIO_CHANNEL_STEREO;
41                 break;
42         }
43         // defautl stereo
44 }
45
46 audio_sample_type_e
47 _AudioManagerConvert::ConvertSampleType(AudioSampleType audioSampleType)
48 {
49         switch (audioSampleType)
50         {
51         case AUDIO_TYPE_PCM_U8:
52                 return AUDIO_SAMPLE_TYPE_U8;
53                 break;
54
55         case AUDIO_TYPE_PCM_S16_LE:
56                 return AUDIO_SAMPLE_TYPE_S16_LE;
57                 break;
58
59         default:
60                 return AUDIO_SAMPLE_TYPE_S16_LE;
61                 break;
62         }
63
64         // default S16 LE
65 }
66
67
68 audio_channel_e
69 _AudioManagerConvert::ConvertChannelTypeAudio(AudioChannelType audioChannelType)
70 {
71         switch (audioChannelType)
72         {
73         case AUDIO_CHANNEL_TYPE_MONO:
74                 return AUDIO_CHANNEL_MONO;
75                 break;
76
77         case AUDIO_CHANNEL_TYPE_STEREO:
78                 return AUDIO_CHANNEL_STEREO;
79                 break;
80
81         default:
82                 SysLogException(NID_MEDIA, E_UNSUPPORTED_FORMAT, "Audio channel type is invalid.");
83                 return AUDIO_CHANNEL_MONO;
84                 break;
85         }
86 }
87
88 audio_sample_type_e
89 _AudioManagerConvert::ConvertSampleTypeAudio(AudioSampleType audioSampleType)
90 {
91         switch (audioSampleType)
92         {
93         case AUDIO_TYPE_PCM_U8:
94                 return AUDIO_SAMPLE_TYPE_U8;
95                 break;
96
97         case AUDIO_TYPE_PCM_S16_LE:
98                 return AUDIO_SAMPLE_TYPE_S16_LE;
99                 break;
100
101         default:
102                 SysLogException(NID_MEDIA, E_UNSUPPORTED_FORMAT, "Audio sample type is invalid.");
103                 return AUDIO_SAMPLE_TYPE_S16_LE;
104                 break;
105
106         }
107 }
108
109 result
110 _AudioManagerConvert::CovertSoundManagerError2Result(int error)
111 {
112         switch (error)
113         {
114         case SOUND_MANAGER_ERROR_NONE:
115                 return E_SUCCESS;
116         case SOUND_MANAGER_ERROR_OUT_OF_MEMORY:
117                 return E_OUT_OF_MEMORY;
118         case SOUND_MANAGER_ERROR_INVALID_PARAMETER:
119                 return E_INVALID_ARG;
120         case SOUND_MANAGER_ERROR_INVALID_OPERATION:
121                 return E_SYSTEM;
122         case SOUND_MANAGER_ERROR_NO_PLAYING_SOUND:
123                 return E_SYSTEM;
124         default:
125                 return E_SYSTEM;
126         }
127 }
128
129 sound_type_e
130 _AudioManagerConvert::ConvertAudioStreamType2SoundType(AudioStreamType type)
131 {
132         switch (type)
133         {
134         case AUDIO_STREAM_TYPE_NO_SOUND:
135                 return SOUND_TYPE_MEDIA;
136                 break;
137         case AUDIO_STREAM_TYPE_SYSTEM:
138                 return SOUND_TYPE_SYSTEM;
139                 break;
140         case AUDIO_STREAM_TYPE_NOTIFICATION:
141                 return SOUND_TYPE_NOTIFICATION;
142                 break;
143         case AUDIO_STREAM_TYPE_ALARM:
144                 return SOUND_TYPE_ALARM;
145                 break;
146         case AUDIO_STREAM_TYPE_RINGTONE:
147                 return SOUND_TYPE_RINGTONE;
148                 break;
149         case AUDIO_STREAM_TYPE_MEDIA:
150                 return SOUND_TYPE_MEDIA;
151                 break;
152         case AUDIO_STREAM_TYPE_CALL:
153                 return SOUND_TYPE_CALL;
154                 break;
155         default:
156                 return SOUND_TYPE_MEDIA;
157                 break;
158         }
159 }
160
161 };
162 };      //Tizen::Media