db02803acb3a248a3b3cc691f757b38adf3fb778
[platform/core/api/media-content.git] / src / media_audio.c
1 /*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 #include <media_info_private.h>
19
20 int audio_meta_destroy(audio_meta_h audio)
21 {
22         audio_meta_s *_audio = (audio_meta_s*)audio;
23         content_retvm_if(_audio == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Audio handle is null");
24
25         g_free(_audio->media_id);
26         g_free(_audio->album);
27         g_free(_audio->artist);
28         g_free(_audio->album_artist);
29         g_free(_audio->genre);
30         g_free(_audio->composer);
31         g_free(_audio->year);
32         g_free(_audio->recorded_date);
33         g_free(_audio->copyright);
34         g_free(_audio->track_num);
35         g_free(_audio);
36
37         return MEDIA_CONTENT_ERROR_NONE;
38 }
39
40 int audio_meta_clone(audio_meta_h *dst, audio_meta_h src)
41 {
42         audio_meta_s *_src = (audio_meta_s*)src;
43
44         content_retip_if_fail(dst);
45         content_retip_if_fail(src);
46
47         audio_meta_s *_dst = g_new0(audio_meta_s, 1);
48
49         _dst->media_id = g_strdup(_src->media_id);
50         _dst->album = g_strdup(_src->album);
51         _dst->artist = g_strdup(_src->artist);
52         _dst->album_artist = g_strdup(_src->album_artist);
53         _dst->genre = g_strdup(_src->genre);
54         _dst->composer = g_strdup(_src->composer);
55         _dst->year = g_strdup(_src->year);
56         _dst->recorded_date = g_strdup(_src->recorded_date);
57         _dst->copyright = g_strdup(_src->copyright);
58         _dst->track_num = g_strdup(_src->track_num);
59         _dst->bitrate = _src->bitrate;
60         _dst->bitpersample = _src->bitpersample;
61         _dst->samplerate = _src->samplerate;
62         _dst->channel = _src->channel;
63         _dst->duration = _src->duration;
64
65         *dst = (audio_meta_h)_dst;
66
67         return MEDIA_CONTENT_ERROR_NONE;
68 }
69
70 int audio_meta_get_media_id(audio_meta_h audio, char **media_id)
71 {
72         audio_meta_s *_audio = (audio_meta_s*)audio;
73
74         content_retip_if_fail(audio);
75         content_retip_if_fail(media_id);
76
77         *media_id = g_strdup(_audio->media_id);
78
79         return MEDIA_CONTENT_ERROR_NONE;
80 }
81
82 int audio_meta_get_album(audio_meta_h audio, char **album)
83 {
84         audio_meta_s *_audio = (audio_meta_s*)audio;
85
86         content_retip_if_fail(audio);
87         content_retip_if_fail(album);
88
89         /*album can be empty string*/
90         *album = g_strdup(_audio->album);
91
92         return MEDIA_CONTENT_ERROR_NONE;
93 }
94
95 int audio_meta_get_artist(audio_meta_h audio, char **artist)
96 {
97         audio_meta_s *_audio = (audio_meta_s*)audio;
98
99         content_retip_if_fail(audio);
100         content_retip_if_fail(artist);
101
102         /*artist can be empty string*/
103         *artist = g_strdup(_audio->artist);
104
105         return MEDIA_CONTENT_ERROR_NONE;
106 }
107
108 int audio_meta_get_album_artist(audio_meta_h audio, char **album_artist)
109 {
110         audio_meta_s *_audio = (audio_meta_s*)audio;
111
112         content_retip_if_fail(audio);
113         content_retip_if_fail(album_artist);
114
115         /*album_artist can be empty string*/
116         *album_artist = g_strdup(_audio->album_artist);
117
118         return MEDIA_CONTENT_ERROR_NONE;
119 }
120
121 int audio_meta_get_genre(audio_meta_h audio, char **genre)
122 {
123         audio_meta_s *_audio = (audio_meta_s*)audio;
124
125         content_retip_if_fail(audio);
126         content_retip_if_fail(genre);
127
128         /*genre can be empty string*/
129         *genre = g_strdup(_audio->genre);
130
131         return MEDIA_CONTENT_ERROR_NONE;
132 }
133
134 int audio_meta_get_composer(audio_meta_h audio, char **composer)
135 {
136         audio_meta_s *_audio = (audio_meta_s*)audio;
137
138         content_retip_if_fail(audio);
139         content_retip_if_fail(composer);
140
141         /*composer can be empty string*/
142         *composer = g_strdup(_audio->composer);
143
144         return MEDIA_CONTENT_ERROR_NONE;
145 }
146
147 int audio_meta_get_year(audio_meta_h audio, char **year)
148 {
149         audio_meta_s *_audio = (audio_meta_s*)audio;
150
151         content_retip_if_fail(audio);
152         content_retip_if_fail(year);
153
154         /*year can be empty string*/
155         *year = g_strdup(_audio->year);
156
157         return MEDIA_CONTENT_ERROR_NONE;
158 }
159
160 int audio_meta_get_recorded_date(audio_meta_h audio, char **recorded_date)
161 {
162         audio_meta_s *_audio = (audio_meta_s*)audio;
163
164         content_retip_if_fail(audio);
165         content_retip_if_fail(recorded_date);
166
167         *recorded_date = g_strdup(_audio->recorded_date);
168
169         return MEDIA_CONTENT_ERROR_NONE;
170 }
171
172 int audio_meta_get_copyright(audio_meta_h audio, char **copyright)
173 {
174         audio_meta_s *_audio = (audio_meta_s*)audio;
175
176         content_retip_if_fail(audio);
177         content_retip_if_fail(copyright);
178
179         /*copyright can be empty string*/
180         *copyright = g_strdup(_audio->copyright);
181
182         return MEDIA_CONTENT_ERROR_NONE;
183 }
184
185 int audio_meta_get_track_num(audio_meta_h audio, char **track_num)
186 {
187         audio_meta_s *_audio = (audio_meta_s*)audio;
188
189         content_retip_if_fail(audio);
190         content_retip_if_fail(track_num);
191
192         /*track_num can be empty string*/
193         *track_num = g_strdup(_audio->track_num);
194
195         return MEDIA_CONTENT_ERROR_NONE;
196 }
197
198 int audio_meta_get_bit_rate(audio_meta_h audio, int *bit_rate)
199 {
200         audio_meta_s *_audio = (audio_meta_s*)audio;
201         content_retvm_if(!_audio || !bit_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
202
203         *bit_rate = _audio->bitrate;
204
205         return MEDIA_CONTENT_ERROR_NONE;
206 }
207
208 int audio_meta_get_bitpersample(audio_meta_h audio, int *bitpersample)
209 {
210         audio_meta_s *_audio = (audio_meta_s*)audio;
211         content_retvm_if(!_audio || !bitpersample, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
212
213         *bitpersample = _audio->bitpersample;
214
215         return MEDIA_CONTENT_ERROR_NONE;
216 }
217
218 int audio_meta_get_sample_rate(audio_meta_h audio, int *sample_rate)
219 {
220         audio_meta_s *_audio = (audio_meta_s*)audio;
221         content_retvm_if(!_audio || !sample_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
222
223         *sample_rate = _audio->samplerate;
224
225         return MEDIA_CONTENT_ERROR_NONE;
226 }
227
228 int audio_meta_get_channel(audio_meta_h audio, int *channel)
229 {
230         audio_meta_s *_audio = (audio_meta_s*)audio;
231         content_retvm_if(!_audio || !channel, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
232
233         *channel = _audio->channel;
234
235         return MEDIA_CONTENT_ERROR_NONE;
236 }
237
238 int audio_meta_get_duration(audio_meta_h audio, int *duration)
239 {
240         audio_meta_s *_audio = (audio_meta_s*)audio;
241         content_retvm_if(!_audio || !duration, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
242
243         *duration = _audio->duration;
244
245         return MEDIA_CONTENT_ERROR_NONE;
246 }
247
248 #ifdef TIZEN_FEATURE_COMPATIBILITY
249 int audio_meta_get_played_time(audio_meta_h audio, time_t* played_time)
250 {
251         content_warn("DEPRECATION WARNING: audio_meta_get_played_time() is removed from 5.5.");
252
253         return MEDIA_CONTENT_ERROR_NONE;
254 }
255
256 int audio_meta_get_played_count(audio_meta_h audio, int *played_count)
257 {
258         content_warn("DEPRECATION WARNING: audio_meta_get_played_count() is removed from 5.5.");
259
260         return MEDIA_CONTENT_ERROR_NONE;
261 }
262
263 int audio_meta_set_played_count(audio_meta_h audio, int played_count)
264 {
265         content_warn("DEPRECATION WARNING: audio_meta_set_played_count() is removed from 5.5.");
266
267         return MEDIA_CONTENT_ERROR_NONE;
268 }
269
270 int audio_meta_set_played_time(audio_meta_h audio, time_t played_time)
271 {
272         content_warn("DEPRECATION WARNING: audio_meta_set_played_time() is removed from 5.5.");
273
274         return MEDIA_CONTENT_ERROR_NONE;
275 }
276
277 int audio_meta_update_to_db(audio_meta_h audio)
278 {
279         content_warn("DEPRECATION WARNING: audio_meta_update_to_db() is removed from 5.5.");
280
281         return MEDIA_CONTENT_ERROR_NONE;
282 }
283 #endif