997f82b4d7e282d0920b33f604e1d26f7b423222
[platform/core/api/media-content.git] / src / media_video.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 video_meta_destroy(video_meta_h video)
21 {
22         video_meta_s *_video = (video_meta_s*)video;
23         media_content_retvm_if(!_video, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Video handle is null");
24
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);
35         SAFE_FREE(_video);
36
37         return MEDIA_CONTENT_ERROR_NONE;
38 }
39
40 int video_meta_clone(video_meta_h *dst, video_meta_h src)
41 {
42         video_meta_s *_src = (video_meta_s*)src;
43         media_content_retvm_if(!_src, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Source handle is null");
44
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");
47
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;
63
64         *dst = (video_meta_h)_dst;
65
66         return MEDIA_CONTENT_ERROR_NONE;
67 }
68
69 int video_meta_get_media_id(video_meta_h video, char **media_id)
70 {
71         video_meta_s *_video = (video_meta_s*)video;
72         media_content_retvm_if(!_video || !media_id, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
73
74         *media_id = g_strdup(_video->media_id);
75
76         return MEDIA_CONTENT_ERROR_NONE;
77 }
78
79 int video_meta_get_album(video_meta_h video, char **album)
80 {
81         video_meta_s *_video = (video_meta_s*)video;
82         media_content_retvm_if(!_video || !album, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
83
84         *album = g_strdup(_video->album);
85
86         return MEDIA_CONTENT_ERROR_NONE;
87 }
88
89 int video_meta_get_artist(video_meta_h video, char **artist)
90 {
91         video_meta_s *_video = (video_meta_s*)video;
92         media_content_retvm_if(!_video || !artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
93
94         *artist = g_strdup(_video->artist);
95
96         return MEDIA_CONTENT_ERROR_NONE;
97 }
98
99 int video_meta_get_album_artist(video_meta_h video, char **album_artist)
100 {
101         video_meta_s *_video = (video_meta_s*)video;
102         media_content_retvm_if(!_video || !album_artist, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
103
104         *album_artist = g_strdup(_video->album_artist);
105
106         return MEDIA_CONTENT_ERROR_NONE;
107 }
108
109 int video_meta_get_genre(video_meta_h video, char **genre)
110 {
111         video_meta_s *_video = (video_meta_s*)video;
112         media_content_retvm_if(!_video || !genre, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
113
114         *genre = g_strdup(_video->genre);
115
116         return MEDIA_CONTENT_ERROR_NONE;
117 }
118
119 int video_meta_get_composer(video_meta_h video, char **composer)
120 {
121         video_meta_s *_video = (video_meta_s*)video;
122         media_content_retvm_if(!_video || !composer, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
123
124         *composer = g_strdup(_video->composer);
125
126         return MEDIA_CONTENT_ERROR_NONE;
127 }
128
129 int video_meta_get_year(video_meta_h video, char **year)
130 {
131         video_meta_s *_video = (video_meta_s*)video;
132         media_content_retvm_if(!_video || !year, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
133
134         *year = g_strdup(_video->year);
135
136         return MEDIA_CONTENT_ERROR_NONE;
137 }
138
139 int video_meta_get_recorded_date(video_meta_h video, char **recorded_date)
140 {
141         video_meta_s *_video = (video_meta_s*)video;
142         media_content_retvm_if(!_video || !recorded_date, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
143
144         *recorded_date = g_strdup(_video->recorded_date);
145
146         return MEDIA_CONTENT_ERROR_NONE;
147 }
148
149 int video_meta_get_copyright(video_meta_h video, char **copyright)
150 {
151         video_meta_s *_video = (video_meta_s*)video;
152         media_content_retvm_if(!_video || !copyright, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
153
154         *copyright = g_strdup(_video->copyright);
155
156         return MEDIA_CONTENT_ERROR_NONE;
157 }
158
159 int video_meta_get_track_num(video_meta_h video, char **track_num)
160 {
161         video_meta_s *_video = (video_meta_s*)video;
162         media_content_retvm_if(!_video || !track_num, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
163
164         *track_num = g_strdup(_video->track_num);
165
166         return MEDIA_CONTENT_ERROR_NONE;
167 }
168
169 int video_meta_get_bit_rate(video_meta_h video, int *bit_rate)
170 {
171         video_meta_s *_video = (video_meta_s*)video;
172         media_content_retvm_if(!_video || !bit_rate, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
173
174         *bit_rate = _video->bitrate;
175
176         return MEDIA_CONTENT_ERROR_NONE;
177 }
178
179 int video_meta_get_duration(video_meta_h video, int *duration)
180 {
181         video_meta_s *_video = (video_meta_s*)video;
182         media_content_retvm_if(!_video || !duration, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
183
184         *duration = _video->duration;
185
186         return MEDIA_CONTENT_ERROR_NONE;
187 }
188
189 int video_meta_get_width(video_meta_h video, int *width)
190 {
191         video_meta_s *_video = (video_meta_s*)video;
192         media_content_retvm_if(!_video || !width, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
193
194         *width = _video->width;
195
196         return MEDIA_CONTENT_ERROR_NONE;
197 }
198
199 int video_meta_get_height(video_meta_h video, int *height)
200 {
201         video_meta_s *_video = (video_meta_s*)video;
202         media_content_retvm_if(!_video || !height, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
203
204         *height = _video->height;
205
206         return MEDIA_CONTENT_ERROR_NONE;
207 }
208
209 int video_meta_get_rotation(video_meta_h video, int *rotation)
210 {
211         video_meta_s *_video = (video_meta_s*)video;
212         media_content_retvm_if(!_video || !rotation, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
213
214         *rotation = _video->rotation;
215
216         return MEDIA_CONTENT_ERROR_NONE;
217 }