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 video_meta_destroy(video_meta_h video)
22 video_meta_s *_video = (video_meta_s*)video;
23 media_content_retvm_if(!_video, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Video handle is null");
25 SAFE_FREE(_video->media_id);
26 SAFE_FREE(_video->album);
27 SAFE_FREE(_video->artist);
28 SAFE_FREE(_video->album_artist);
29 SAFE_FREE(_video->genre);
30 SAFE_FREE(_video->composer);
31 SAFE_FREE(_video->year);
32 SAFE_FREE(_video->recorded_date);
33 SAFE_FREE(_video->copyright);
34 SAFE_FREE(_video->track_num);
37 return MEDIA_CONTENT_ERROR_NONE;
40 int video_meta_clone(video_meta_h *dst, video_meta_h src)
42 video_meta_s *_src = (video_meta_s*)src;
43 media_content_retvm_if(!_src, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Source handle is null");
45 video_meta_s *_dst = (video_meta_s*)calloc(1, sizeof(video_meta_s));
46 media_content_retvm_if(!_dst, 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);
58 _dst->bitrate = _src->bitrate;
59 _dst->duration = _src->duration;
60 _dst->width = _src->width;
61 _dst->height = _src->height;
62 _dst->rotation = _src->rotation;
64 *dst = (video_meta_h)_dst;
66 return MEDIA_CONTENT_ERROR_NONE;
69 int video_meta_get_media_id(video_meta_h video, char **media_id)
71 video_meta_s *_video = (video_meta_s*)video;
72 media_content_retvm_if(!_video || !media_id, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
74 *media_id = g_strdup(_video->media_id);
76 return MEDIA_CONTENT_ERROR_NONE;
79 int video_meta_get_album(video_meta_h video, char **album)
81 video_meta_s *_video = (video_meta_s*)video;
82 media_content_retvm_if(!_video || !album, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
84 *album = g_strdup(_video->album);
86 return MEDIA_CONTENT_ERROR_NONE;
89 int video_meta_get_artist(video_meta_h video, char **artist)
91 video_meta_s *_video = (video_meta_s*)video;
92 media_content_retvm_if(!_video || !artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
94 *artist = g_strdup(_video->artist);
96 return MEDIA_CONTENT_ERROR_NONE;
99 int video_meta_get_album_artist(video_meta_h video, char **album_artist)
101 video_meta_s *_video = (video_meta_s*)video;
102 media_content_retvm_if(!_video || !album_artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
104 *album_artist = g_strdup(_video->album_artist);
106 return MEDIA_CONTENT_ERROR_NONE;
109 int video_meta_get_genre(video_meta_h video, char **genre)
111 video_meta_s *_video = (video_meta_s*)video;
112 media_content_retvm_if(!_video || !genre, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
114 *genre = g_strdup(_video->genre);
116 return MEDIA_CONTENT_ERROR_NONE;
119 int video_meta_get_composer(video_meta_h video, char **composer)
121 video_meta_s *_video = (video_meta_s*)video;
122 media_content_retvm_if(!_video || !composer, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
124 *composer = g_strdup(_video->composer);
126 return MEDIA_CONTENT_ERROR_NONE;
129 int video_meta_get_year(video_meta_h video, char **year)
131 video_meta_s *_video = (video_meta_s*)video;
132 media_content_retvm_if(!_video || !year, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
134 *year = g_strdup(_video->year);
136 return MEDIA_CONTENT_ERROR_NONE;
139 int video_meta_get_recorded_date(video_meta_h video, char **recorded_date)
141 video_meta_s *_video = (video_meta_s*)video;
142 media_content_retvm_if(!_video || !recorded_date, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
144 *recorded_date = g_strdup(_video->recorded_date);
146 return MEDIA_CONTENT_ERROR_NONE;
149 int video_meta_get_copyright(video_meta_h video, char **copyright)
151 video_meta_s *_video = (video_meta_s*)video;
152 media_content_retvm_if(!_video || !copyright, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
154 *copyright = g_strdup(_video->copyright);
156 return MEDIA_CONTENT_ERROR_NONE;
159 int video_meta_get_track_num(video_meta_h video, char **track_num)
161 video_meta_s *_video = (video_meta_s*)video;
162 media_content_retvm_if(!_video || !track_num, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
164 *track_num = g_strdup(_video->track_num);
166 return MEDIA_CONTENT_ERROR_NONE;
169 int video_meta_get_bit_rate(video_meta_h video, int *bit_rate)
171 video_meta_s *_video = (video_meta_s*)video;
172 media_content_retvm_if(!_video || !bit_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
174 *bit_rate = _video->bitrate;
176 return MEDIA_CONTENT_ERROR_NONE;
179 int video_meta_get_duration(video_meta_h video, int *duration)
181 video_meta_s *_video = (video_meta_s*)video;
182 media_content_retvm_if(!_video || !duration, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
184 *duration = _video->duration;
186 return MEDIA_CONTENT_ERROR_NONE;
189 int video_meta_get_width(video_meta_h video, int *width)
191 video_meta_s *_video = (video_meta_s*)video;
192 media_content_retvm_if(!_video || !width, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
194 *width = _video->width;
196 return MEDIA_CONTENT_ERROR_NONE;
199 int video_meta_get_height(video_meta_h video, int *height)
201 video_meta_s *_video = (video_meta_s*)video;
202 media_content_retvm_if(!_video || !height, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
204 *height = _video->height;
206 return MEDIA_CONTENT_ERROR_NONE;
209 int video_meta_get_rotation(video_meta_h video, int *rotation)
211 video_meta_s *_video = (video_meta_s*)video;
212 media_content_retvm_if(!_video || !rotation, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
214 *rotation = _video->rotation;
216 return MEDIA_CONTENT_ERROR_NONE;