1 /* 2 * Copyright (c) 2024-2025 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 "audio_policy_interface.h" 17 #include "audio_service_log.h" 18 #include "audio_system_manager.h" 19 20 namespace OHOS { 21 namespace AudioStandard { AudioRendererFilter()22AudioRendererFilter::AudioRendererFilter() 23 {} 24 ~AudioRendererFilter()25AudioRendererFilter::~AudioRendererFilter() 26 {} 27 Marshalling(Parcel & parcel) const28bool AudioRendererFilter::Marshalling(Parcel &parcel) const 29 { 30 return parcel.WriteInt32(uid) && 31 parcel.WriteInt32(static_cast<int32_t>(rendererInfo.contentType)) && 32 parcel.WriteInt32(static_cast<int32_t>(rendererInfo.streamUsage)) && 33 parcel.WriteInt32(static_cast<int32_t>(streamType)) && 34 parcel.WriteInt32(rendererInfo.rendererFlags) && 35 parcel.WriteInt32(streamId); 36 } 37 Unmarshalling(Parcel & in)38sptr<AudioRendererFilter> AudioRendererFilter::Unmarshalling(Parcel &in) 39 { 40 sptr<AudioRendererFilter> audioRendererFilter = new(std::nothrow) AudioRendererFilter(); 41 if (audioRendererFilter == nullptr) { 42 return nullptr; 43 } 44 45 audioRendererFilter->uid = in.ReadInt32(); 46 audioRendererFilter->rendererInfo.contentType = static_cast<ContentType>(in.ReadInt32()); 47 audioRendererFilter->rendererInfo.streamUsage = static_cast<StreamUsage>(in.ReadInt32()); 48 audioRendererFilter->streamType = static_cast<AudioStreamType>(in.ReadInt32()); 49 audioRendererFilter->rendererInfo.rendererFlags = in.ReadInt32(); 50 audioRendererFilter->streamId = in.ReadInt32(); 51 52 return audioRendererFilter; 53 } 54 AudioCapturerFilter()55AudioCapturerFilter::AudioCapturerFilter() 56 {} 57 ~AudioCapturerFilter()58AudioCapturerFilter::~AudioCapturerFilter() 59 {} 60 Marshalling(Parcel & parcel) const61bool AudioCapturerFilter::Marshalling(Parcel &parcel) const 62 { 63 return parcel.WriteInt32(uid) && 64 parcel.WriteInt32(static_cast<int32_t>(capturerInfo.sourceType)) && 65 parcel.WriteInt32(capturerInfo.capturerFlags); 66 } 67 Unmarshalling(Parcel & in)68sptr<AudioCapturerFilter> AudioCapturerFilter::Unmarshalling(Parcel &in) 69 { 70 sptr<AudioCapturerFilter> audioCapturerFilter = new(std::nothrow) AudioCapturerFilter(); 71 CHECK_AND_RETURN_RET(audioCapturerFilter != nullptr, nullptr); 72 73 audioCapturerFilter->uid = in.ReadInt32(); 74 audioCapturerFilter->capturerInfo.sourceType = static_cast<SourceType>(in.ReadInt32()); 75 audioCapturerFilter->capturerInfo.capturerFlags = in.ReadInt32(); 76 77 return audioCapturerFilter; 78 } 79 } // namespace AudioStandard 80 } // namespace OHOS 81