• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 "avmedia_description.h"
17 #include "avsession_log.h"
18 
19 namespace OHOS::AVSession {
Marshalling(Parcel & parcel) const20 bool AVMediaDescription::Marshalling(Parcel& parcel) const
21 {
22     return parcel.WriteString(mediaId_) &&
23         parcel.WriteString(title_) &&
24         parcel.WriteString(subtitle_) &&
25         parcel.WriteString(description_) &&
26         parcel.WriteString(iconUri_) &&
27         parcel.WriteString(mediaType_) &&
28         parcel.WriteInt32(mediaSize_) &&
29         parcel.WriteString(albumTitle_) &&
30         parcel.WriteString(albumCoverUri_) &&
31         parcel.WriteString(lyricContent_) &&
32         parcel.WriteString(lyricUri_) &&
33         parcel.WriteString(artist_) &&
34         parcel.WriteString(mediaUri_) &&
35         fdSrc_.WriteToParcel(parcel)&&
36         parcel.WriteInt32(duration_) &&
37         parcel.WriteInt32(startPosition_) &&
38         parcel.WriteInt32(creditsPosition_) &&
39         parcel.WriteString(appName_) &&
40         parcel.WriteParcelable(icon_.get()) &&
41         parcel.WriteParcelable(extras_.get());
42 }
43 
Unmarshalling(Parcel & data)44 AVMediaDescription *AVMediaDescription::Unmarshalling(Parcel& data)
45 {
46     auto *result = new (std::nothrow) AVMediaDescription();
47     CHECK_AND_RETURN_RET_LOG(result != nullptr, nullptr, "new AVMediaDescription failed");
48     data.ReadString(result->mediaId_);
49     data.ReadString(result->title_);
50     data.ReadString(result->subtitle_);
51     data.ReadString(result->description_);
52     data.ReadString(result->iconUri_);
53     data.ReadString(result->mediaType_);
54     data.ReadInt32(result->mediaSize_);
55     data.ReadString(result->albumTitle_);
56     data.ReadString(result->albumCoverUri_);
57     data.ReadString(result->lyricContent_);
58     data.ReadString(result->lyricUri_);
59     data.ReadString(result->artist_);
60     data.ReadString(result->mediaUri_);
61     result->fdSrc_.ReadFromParcel(data);
62     data.ReadInt32(result->duration_);
63     data.ReadInt32(result->startPosition_);
64     data.ReadInt32(result->creditsPosition_);
65     data.ReadString(result->appName_);
66     result->icon_ = std::shared_ptr<AVSessionPixelMap>(data.ReadParcelable<AVSessionPixelMap>());
67     if (result->icon_ == nullptr) {
68         SLOGD("read AVMediaDescription - icon null");
69     }
70     result->extras_ = std::shared_ptr<AAFwk::WantParams>(data.ReadParcelable<AAFwk::WantParams>());
71     if (result->extras_ == nullptr) {
72         SLOGD("read AVMediaDescription - extras null");
73     }
74     return result;
75 }
76 
SetMediaId(const std::string & mediaId)77 void AVMediaDescription::SetMediaId(const std::string& mediaId)
78 {
79     mediaId_ = mediaId;
80 }
81 
GetMediaId() const82 std::string AVMediaDescription::GetMediaId() const
83 {
84     return mediaId_;
85 }
86 
SetTitle(const std::string & title)87 void AVMediaDescription::SetTitle(const std::string& title)
88 {
89     title_ = title;
90 }
91 
GetTitle() const92 std::string AVMediaDescription::GetTitle() const
93 {
94     return title_;
95 }
96 
SetSubtitle(const std::string & subtitle)97 void AVMediaDescription::SetSubtitle(const std::string& subtitle)
98 {
99     subtitle_ = subtitle;
100 }
101 
GetSubtitle() const102 std::string AVMediaDescription::GetSubtitle() const
103 {
104     return subtitle_;
105 }
106 
SetDescription(const std::string & description)107 void AVMediaDescription::SetDescription(const std::string& description)
108 {
109     description_ = description;
110 }
111 
GetDescription() const112 std::string AVMediaDescription::GetDescription() const
113 {
114     return description_;
115 }
116 
SetIcon(const std::shared_ptr<AVSessionPixelMap> & icon)117 void AVMediaDescription::SetIcon(const std::shared_ptr<AVSessionPixelMap>& icon)
118 {
119     icon_ = icon;
120 }
121 
GetIcon() const122 std::shared_ptr<AVSessionPixelMap> AVMediaDescription::GetIcon() const
123 {
124     return icon_;
125 }
126 
SetIconUri(const std::string & iconUri)127 void AVMediaDescription::SetIconUri(const std::string& iconUri)
128 {
129     iconUri_ = iconUri;
130 }
131 
GetIconUri() const132 std::string AVMediaDescription::GetIconUri() const
133 {
134     return iconUri_;
135 }
136 
SetExtras(const std::shared_ptr<AAFwk::WantParams> & extras)137 void AVMediaDescription::SetExtras(const std::shared_ptr<AAFwk::WantParams>& extras)
138 {
139     extras_ = extras;
140 }
141 
GetExtras() const142 std::shared_ptr<AAFwk::WantParams> AVMediaDescription::GetExtras() const
143 {
144     return extras_;
145 }
146 
SetMediaUri(const std::string & mediaUri)147 void AVMediaDescription::SetMediaUri(const std::string& mediaUri)
148 {
149     mediaUri_ = mediaUri;
150 }
151 
GetMediaUri() const152 std::string AVMediaDescription::GetMediaUri() const
153 {
154     return mediaUri_;
155 }
156 
SetFdSrc(const AVFileDescriptor & fdSrc)157 void AVMediaDescription::SetFdSrc(const AVFileDescriptor& fdSrc)
158 {
159     fdSrc_ = fdSrc;
160 }
161 
GetFdSrc() const162 AVFileDescriptor AVMediaDescription::GetFdSrc() const
163 {
164     return fdSrc_;
165 }
SetMediaType(const std::string & mediaType)166 void AVMediaDescription::SetMediaType(const std::string& mediaType)
167 {
168     mediaType_ = mediaType;
169 }
170 
GetMediaType() const171 std::string AVMediaDescription::GetMediaType() const
172 {
173     return mediaType_;
174 }
175 
SetMediaSize(const int32_t mediaSize)176 void AVMediaDescription::SetMediaSize(const int32_t mediaSize)
177 {
178     mediaSize_ = mediaSize;
179 }
180 
GetMediaSize() const181 int32_t AVMediaDescription::GetMediaSize() const
182 {
183     return mediaSize_;
184 }
185 
SetAlbumTitle(const std::string & albumTitle)186 void AVMediaDescription::SetAlbumTitle(const std::string& albumTitle)
187 {
188     albumTitle_ = albumTitle;
189 }
190 
GetAlbumTitle() const191 std::string AVMediaDescription::GetAlbumTitle() const
192 {
193     return albumTitle_;
194 }
195 
SetAlbumCoverUri(const std::string & albumCoverUri)196 void AVMediaDescription::SetAlbumCoverUri(const std::string& albumCoverUri)
197 {
198     albumCoverUri_ = albumCoverUri;
199 }
200 
GetAlbumCoverUri() const201 std::string AVMediaDescription::GetAlbumCoverUri() const
202 {
203     return albumCoverUri_;
204 }
205 
SetLyricContent(const std::string & lyricContent)206 void AVMediaDescription::SetLyricContent(const std::string& lyricContent)
207 {
208     lyricContent_ = lyricContent;
209 }
210 
GetLyricContent() const211 std::string AVMediaDescription::GetLyricContent() const
212 {
213     return lyricContent_;
214 }
215 
SetLyricUri(const std::string & lyricUri)216 void AVMediaDescription::SetLyricUri(const std::string& lyricUri)
217 {
218     lyricUri_ = lyricUri;
219 }
220 
GetLyricUri() const221 std::string AVMediaDescription::GetLyricUri() const
222 {
223     return lyricUri_;
224 }
225 
SetArtist(const std::string & artist)226 void AVMediaDescription::SetArtist(const std::string& artist)
227 {
228     artist_ = artist;
229 }
230 
GetArtist() const231 std::string AVMediaDescription::GetArtist() const
232 {
233     return artist_;
234 }
235 
SetDuration(const int32_t duration)236 void AVMediaDescription::SetDuration(const int32_t duration)
237 {
238     duration_ = duration;
239 }
240 
GetDuration() const241 int32_t AVMediaDescription::GetDuration() const
242 {
243     return duration_;
244 }
245 
SetStartPosition(const int32_t startPosition)246 void AVMediaDescription::SetStartPosition(const int32_t startPosition)
247 {
248     startPosition_ = startPosition;
249 }
250 
GetStartPosition() const251 int32_t AVMediaDescription::GetStartPosition() const
252 {
253     return startPosition_;
254 }
255 
SetCreditsPosition(const int32_t creditsPosition)256 void AVMediaDescription::SetCreditsPosition(const int32_t creditsPosition)
257 {
258     creditsPosition_ = creditsPosition;
259 }
260 
GetCreditsPosition() const261 int32_t AVMediaDescription::GetCreditsPosition() const
262 {
263     return creditsPosition_;
264 }
265 
SetAppName(const std::string & appName)266 void AVMediaDescription::SetAppName(const std::string& appName)
267 {
268     appName_ = appName;
269 }
270 
GetAppName() const271 std::string AVMediaDescription::GetAppName() const
272 {
273     return appName_;
274 }
275 
IsValid() const276 bool AVMediaDescription::IsValid() const
277 {
278     return !(mediaId_.empty());
279 }
280 
Reset()281 void AVMediaDescription::Reset()
282 {
283     mediaId_ = "";
284     title_ = "";
285     subtitle_ = "";
286     description_ = "";
287     icon_ = nullptr;
288     iconUri_ = "";
289     extras_ = nullptr;
290     mediaType_ = "";
291     mediaSize_ = 0;
292     albumTitle_ = "";
293     albumCoverUri_ = "";
294     lyricContent_ = "";
295     lyricUri_ = "";
296     artist_ = "";
297     mediaUri_ = "";
298     AVFileDescriptor fdSrc;
299     fdSrc_ = fdSrc;
300     duration_ = 0;
301     startPosition_ = 0;
302     creditsPosition_ = 0;
303     appName_ = "";
304 }
305 } // namespace OHOS::AVSession
306