1 /*
2 * Copyright (C) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "media_asset_capi.h"
17
18 #include "media_log.h"
19 #include "oh_media_asset.h"
20
OH_MediaAsset_GetUri(OH_MediaAsset * mediaAsset,const char ** uri)21 MediaLibrary_ErrorCode OH_MediaAsset_GetUri(OH_MediaAsset* mediaAsset, const char** uri)
22 {
23 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
24 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
25 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
26 CHECK_AND_RETURN_RET_LOG(uri != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "uri is nullptr!");
27
28 return mediaAsset->mediaAsset_->GetUri(uri);
29 }
30
OH_MediaAsset_GetMediaType(OH_MediaAsset * mediaAsset,MediaLibrary_MediaType * mediaType)31 MediaLibrary_ErrorCode OH_MediaAsset_GetMediaType(OH_MediaAsset* mediaAsset, MediaLibrary_MediaType* mediaType)
32 {
33 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
34 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
35 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
36 CHECK_AND_RETURN_RET_LOG(mediaType != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaType is nullptr!");
37
38 return mediaAsset->mediaAsset_->GetMediaType(mediaType);
39 }
40
OH_MediaAsset_GetMediaSubType(OH_MediaAsset * mediaAsset,MediaLibrary_MediaSubType * mediaSubType)41 MediaLibrary_ErrorCode OH_MediaAsset_GetMediaSubType(OH_MediaAsset* mediaAsset,
42 MediaLibrary_MediaSubType* mediaSubType)
43 {
44 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
45 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
46 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
47 CHECK_AND_RETURN_RET_LOG(mediaSubType != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaSubType is nullptr!");
48
49 return mediaAsset->mediaAsset_->GetMediaSubType(mediaSubType);
50 }
51
OH_MediaAsset_GetDisplayName(OH_MediaAsset * mediaAsset,const char ** displayName)52 MediaLibrary_ErrorCode OH_MediaAsset_GetDisplayName(OH_MediaAsset* mediaAsset, const char** displayName)
53 {
54 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
55 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
56 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
57 CHECK_AND_RETURN_RET_LOG(displayName != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "displayName is nullptr!");
58
59 return mediaAsset->mediaAsset_->GetDisplayName(displayName);
60 }
61
OH_MediaAsset_GetSize(OH_MediaAsset * mediaAsset,uint32_t * size)62 MediaLibrary_ErrorCode OH_MediaAsset_GetSize(OH_MediaAsset* mediaAsset, uint32_t* size)
63 {
64 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
65 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
66 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
67 CHECK_AND_RETURN_RET_LOG(size != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "size is nullptr!");
68
69 return mediaAsset->mediaAsset_->GetSize(size);
70 }
71
OH_MediaAsset_GetDateAdded(OH_MediaAsset * mediaAsset,uint32_t * dateAdded)72 MediaLibrary_ErrorCode OH_MediaAsset_GetDateAdded(OH_MediaAsset* mediaAsset, uint32_t* dateAdded)
73 {
74 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
75 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
76 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
77 CHECK_AND_RETURN_RET_LOG(dateAdded != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "dateAdded is nullptr!");
78
79 return mediaAsset->mediaAsset_->GetDateAdded(dateAdded);
80 }
81
OH_MediaAsset_GetDateModified(OH_MediaAsset * mediaAsset,uint32_t * dateModified)82 MediaLibrary_ErrorCode OH_MediaAsset_GetDateModified(OH_MediaAsset* mediaAsset, uint32_t* dateModified)
83 {
84 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
85 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
86 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
87 CHECK_AND_RETURN_RET_LOG(dateModified != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "dateModified is nullptr!");
88
89 return mediaAsset->mediaAsset_->GetDateModified(dateModified);
90 }
91
OH_MediaAsset_GetDateTaken(OH_MediaAsset * mediaAsset,uint32_t * dateTaken)92 MediaLibrary_ErrorCode OH_MediaAsset_GetDateTaken(OH_MediaAsset* mediaAsset, uint32_t* dateTaken)
93 {
94 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
95 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
96 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
97 CHECK_AND_RETURN_RET_LOG(dateTaken != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "dateTaken is nullptr!");
98
99 return mediaAsset->mediaAsset_->GetDateTaken(dateTaken);
100 }
101
OH_MediaAsset_GetDateAddedMs(OH_MediaAsset * mediaAsset,uint32_t * dateAddedMs)102 MediaLibrary_ErrorCode OH_MediaAsset_GetDateAddedMs(OH_MediaAsset* mediaAsset, uint32_t* dateAddedMs)
103 {
104 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
105 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
106 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
107 CHECK_AND_RETURN_RET_LOG(dateAddedMs != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "dateAddedMs is nullptr!");
108
109 return mediaAsset->mediaAsset_->GetDateAddedMs(dateAddedMs);
110 }
111
OH_MediaAsset_GetDateModifiedMs(OH_MediaAsset * mediaAsset,uint32_t * dateModifiedMs)112 MediaLibrary_ErrorCode OH_MediaAsset_GetDateModifiedMs(OH_MediaAsset* mediaAsset, uint32_t* dateModifiedMs)
113 {
114 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
115 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
116 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
117 CHECK_AND_RETURN_RET_LOG(dateModifiedMs != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "dateModifiedMs is nullptr!");
118
119 return mediaAsset->mediaAsset_->GetDateModifiedMs(dateModifiedMs);
120 }
121
OH_MediaAsset_GetDuration(OH_MediaAsset * mediaAsset,uint32_t * duration)122 MediaLibrary_ErrorCode OH_MediaAsset_GetDuration(OH_MediaAsset* mediaAsset, uint32_t* duration)
123 {
124 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
125 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
126 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
127 CHECK_AND_RETURN_RET_LOG(duration != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "duration is nullptr!");
128
129 return mediaAsset->mediaAsset_->GetDuration(duration);
130 }
131
OH_MediaAsset_GetWidth(OH_MediaAsset * mediaAsset,uint32_t * width)132 MediaLibrary_ErrorCode OH_MediaAsset_GetWidth(OH_MediaAsset* mediaAsset, uint32_t* width)
133 {
134 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
135 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
136 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
137 CHECK_AND_RETURN_RET_LOG(width != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "width is nullptr!");
138
139 return mediaAsset->mediaAsset_->GetWidth(width);
140 }
141
OH_MediaAsset_GetHeight(OH_MediaAsset * mediaAsset,uint32_t * height)142 MediaLibrary_ErrorCode OH_MediaAsset_GetHeight(OH_MediaAsset* mediaAsset, uint32_t* height)
143 {
144 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
145 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
146 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
147 CHECK_AND_RETURN_RET_LOG(height != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "height is nullptr!");
148
149 return mediaAsset->mediaAsset_->GetHeight(height);
150 }
151
OH_MediaAsset_GetOrientation(OH_MediaAsset * mediaAsset,uint32_t * orientation)152 MediaLibrary_ErrorCode OH_MediaAsset_GetOrientation(OH_MediaAsset* mediaAsset, uint32_t* orientation)
153 {
154 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
155 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
156 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
157 CHECK_AND_RETURN_RET_LOG(orientation != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "orientation is nullptr!");
158
159 return mediaAsset->mediaAsset_->GetOrientation(orientation);
160 }
161
OH_MediaAsset_IsFavorite(OH_MediaAsset * mediaAsset,uint32_t * favorite)162 MediaLibrary_ErrorCode OH_MediaAsset_IsFavorite(OH_MediaAsset* mediaAsset, uint32_t* favorite)
163 {
164 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
165 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
166 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
167 CHECK_AND_RETURN_RET_LOG(favorite != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "favorite is nullptr!");
168
169 return mediaAsset->mediaAsset_->IsFavorite(favorite);
170 }
171
OH_MediaAsset_GetTitle(OH_MediaAsset * mediaAsset,const char ** title)172 MediaLibrary_ErrorCode OH_MediaAsset_GetTitle(OH_MediaAsset* mediaAsset, const char** title)
173 {
174 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
175 CHECK_AND_RETURN_RET_LOG(mediaAsset->mediaAsset_ != nullptr,
176 MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED, "mediaAsset_ is nullptr!");
177 CHECK_AND_RETURN_RET_LOG(title != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "title is nullptr!");
178
179 return mediaAsset->mediaAsset_->GetTitle(title);
180 }
181
OH_MediaAsset_Release(OH_MediaAsset * mediaAsset)182 MediaLibrary_ErrorCode OH_MediaAsset_Release(OH_MediaAsset* mediaAsset)
183 {
184 CHECK_AND_RETURN_RET_LOG(mediaAsset != nullptr, MEDIA_LIBRARY_PARAMETER_ERROR, "mediaAsset is nullptr!");
185
186 delete mediaAsset;
187 mediaAsset = nullptr;
188 return MEDIA_LIBRARY_OK;
189 }