2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #include <media_info_private.h>
20 int audio_meta_destroy(audio_meta_h audio)
22 audio_meta_s *_audio = (audio_meta_s*)audio;
23 media_content_retvm_if(_audio == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Audio handle is null");
25 SAFE_FREE(_audio->media_id);
26 SAFE_FREE(_audio->album);
27 SAFE_FREE(_audio->artist);
28 SAFE_FREE(_audio->album_artist);
29 SAFE_FREE(_audio->genre);
30 SAFE_FREE(_audio->composer);
31 SAFE_FREE(_audio->year);
32 SAFE_FREE(_audio->recorded_date);
33 SAFE_FREE(_audio->copyright);
34 SAFE_FREE(_audio->track_num);
37 return MEDIA_CONTENT_ERROR_NONE;
40 int audio_meta_clone(audio_meta_h *dst, audio_meta_h src)
42 audio_meta_s *_src = (audio_meta_s*)src;
43 media_content_retvm_if(_src == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Source handle is null");
45 audio_meta_s *_dst = (audio_meta_s*)calloc(1, sizeof(audio_meta_s));
46 media_content_retvm_if(_dst == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
48 _dst->media_id = g_strdup(_src->media_id);
49 _dst->album = g_strdup(_src->album);
50 _dst->artist = g_strdup(_src->artist);
51 _dst->album_artist = g_strdup(_src->album_artist);
52 _dst->genre = g_strdup(_src->genre);
53 _dst->composer = g_strdup(_src->composer);
54 _dst->year = g_strdup(_src->year);
55 _dst->recorded_date = g_strdup(_src->recorded_date);
56 _dst->copyright = g_strdup(_src->copyright);
57 _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;
65 *dst = (audio_meta_h)_dst;
67 return MEDIA_CONTENT_ERROR_NONE;
70 int audio_meta_get_media_id(audio_meta_h audio, char **media_id)
72 audio_meta_s *_audio = (audio_meta_s*)audio;
73 media_content_retvm_if(!_audio || !media_id, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
75 *media_id = g_strdup(_audio->media_id);
77 return MEDIA_CONTENT_ERROR_NONE;
80 int audio_meta_get_album(audio_meta_h audio, char **album)
82 audio_meta_s *_audio = (audio_meta_s*)audio;
83 media_content_retvm_if(!_audio || !album, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
85 /*album can be empty string*/
86 *album = g_strdup(_audio->album);
88 return MEDIA_CONTENT_ERROR_NONE;
91 int audio_meta_get_artist(audio_meta_h audio, char **artist)
93 audio_meta_s *_audio = (audio_meta_s*)audio;
94 media_content_retvm_if(!_audio || !artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
96 /*artist can be empty string*/
97 *artist = g_strdup(_audio->artist);
99 return MEDIA_CONTENT_ERROR_NONE;
102 int audio_meta_get_album_artist(audio_meta_h audio, char **album_artist)
104 audio_meta_s *_audio = (audio_meta_s*)audio;
105 media_content_retvm_if(!_audio || !album_artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
107 /*album_artist can be empty string*/
108 *album_artist = g_strdup(_audio->album_artist);
110 return MEDIA_CONTENT_ERROR_NONE;
113 int audio_meta_get_genre(audio_meta_h audio, char **genre)
115 audio_meta_s *_audio = (audio_meta_s*)audio;
116 media_content_retvm_if(!_audio || !genre, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
118 /*genre can be empty string*/
119 *genre = g_strdup(_audio->genre);
121 return MEDIA_CONTENT_ERROR_NONE;
124 int audio_meta_get_composer(audio_meta_h audio, char **composer)
126 audio_meta_s *_audio = (audio_meta_s*)audio;
127 media_content_retvm_if(!_audio || !composer, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
129 /*composer can be empty string*/
130 *composer = g_strdup(_audio->composer);
132 return MEDIA_CONTENT_ERROR_NONE;
135 int audio_meta_get_year(audio_meta_h audio, char **year)
137 audio_meta_s *_audio = (audio_meta_s*)audio;
138 media_content_retvm_if(!_audio || !year, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
140 /*year can be empty string*/
141 *year = g_strdup(_audio->year);
143 return MEDIA_CONTENT_ERROR_NONE;
146 int audio_meta_get_recorded_date(audio_meta_h audio, char **recorded_date)
148 audio_meta_s *_audio = (audio_meta_s*)audio;
149 media_content_retvm_if(!_audio || !recorded_date, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
151 *recorded_date = g_strdup(_audio->recorded_date);
153 return MEDIA_CONTENT_ERROR_NONE;
156 int audio_meta_get_copyright(audio_meta_h audio, char **copyright)
158 audio_meta_s *_audio = (audio_meta_s*)audio;
159 media_content_retvm_if(!_audio || !copyright, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
161 /*copyright can be empty string*/
162 *copyright = g_strdup(_audio->copyright);
164 return MEDIA_CONTENT_ERROR_NONE;
167 int audio_meta_get_track_num(audio_meta_h audio, char **track_num)
169 audio_meta_s *_audio = (audio_meta_s*)audio;
170 media_content_retvm_if(!_audio || !track_num, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
172 /*track_num can be empty string*/
173 *track_num = g_strdup(_audio->track_num);
175 return MEDIA_CONTENT_ERROR_NONE;
178 int audio_meta_get_bit_rate(audio_meta_h audio, int *bit_rate)
180 audio_meta_s *_audio = (audio_meta_s*)audio;
181 media_content_retvm_if(!_audio || !bit_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
183 *bit_rate = _audio->bitrate;
185 return MEDIA_CONTENT_ERROR_NONE;
188 int audio_meta_get_bitpersample(audio_meta_h audio, int *bitpersample)
190 audio_meta_s *_audio = (audio_meta_s*)audio;
191 media_content_retvm_if(!_audio || !bitpersample, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
193 *bitpersample = _audio->bitpersample;
195 return MEDIA_CONTENT_ERROR_NONE;
198 int audio_meta_get_sample_rate(audio_meta_h audio, int *sample_rate)
200 audio_meta_s *_audio = (audio_meta_s*)audio;
201 media_content_retvm_if(!_audio || !sample_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
203 *sample_rate = _audio->samplerate;
205 return MEDIA_CONTENT_ERROR_NONE;
208 int audio_meta_get_channel(audio_meta_h audio, int *channel)
210 audio_meta_s *_audio = (audio_meta_s*)audio;
211 media_content_retvm_if(!_audio || !channel, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
213 *channel = _audio->channel;
215 return MEDIA_CONTENT_ERROR_NONE;
218 int audio_meta_get_duration(audio_meta_h audio, int *duration)
220 audio_meta_s *_audio = (audio_meta_s*)audio;
221 media_content_retvm_if(!_audio || !duration, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
223 *duration = _audio->duration;
225 return MEDIA_CONTENT_ERROR_NONE;
228 #ifdef TIZEN_FEATURE_COMPATIBILITY
229 int audio_meta_get_played_time(audio_meta_h audio, time_t* played_time)
231 media_content_warn("DEPRECATION WARNING: audio_meta_get_played_time() is removed from 5.5.");
233 return MEDIA_CONTENT_ERROR_NONE;
236 int audio_meta_get_played_count(audio_meta_h audio, int *played_count)
238 media_content_warn("DEPRECATION WARNING: audio_meta_get_played_count() is removed from 5.5.");
240 return MEDIA_CONTENT_ERROR_NONE;
243 int audio_meta_set_played_count(audio_meta_h audio, int played_count)
245 media_content_warn("DEPRECATION WARNING: audio_meta_set_played_count() is removed from 5.5.");
247 return MEDIA_CONTENT_ERROR_NONE;
250 int audio_meta_set_played_time(audio_meta_h audio, time_t played_time)
252 media_content_warn("DEPRECATION WARNING: audio_meta_set_played_time() is removed from 5.5.");
254 return MEDIA_CONTENT_ERROR_NONE;
257 int audio_meta_update_to_db(audio_meta_h audio)
259 media_content_warn("DEPRECATION WARNING: audio_meta_update_to_db() is removed from 5.5.");
261 return MEDIA_CONTENT_ERROR_NONE;