• 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 #ifndef LOG_TAG
16 #define LOG_TAG "PairDeviceRouter"
17 #endif
18 
19 #include "pair_device_router.h"
20 
21 #include "audio_policy_service.h"
22 
23 #include "audio_bluetooth_manager.h"
24 
25 using namespace std;
26 
27 namespace OHOS {
28 namespace AudioStandard {
29 
GetMediaRenderDevice(StreamUsage streamUsage,int32_t clientUID)30 shared_ptr<AudioDeviceDescriptor> PairDeviceRouter::GetMediaRenderDevice(StreamUsage streamUsage, int32_t clientUID)
31 {
32     return make_shared<AudioDeviceDescriptor>();
33 }
34 
GetCallRenderDevice(StreamUsage streamUsage,int32_t clientUID)35 shared_ptr<AudioDeviceDescriptor> PairDeviceRouter::GetCallRenderDevice(StreamUsage streamUsage, int32_t clientUID)
36 {
37     return make_shared<AudioDeviceDescriptor>();
38 }
39 
GetCallCaptureDevice(SourceType sourceType,int32_t clientUID)40 shared_ptr<AudioDeviceDescriptor> PairDeviceRouter::GetCallCaptureDevice(SourceType sourceType, int32_t clientUID)
41 {
42     shared_ptr<AudioDeviceDescriptor> desc =
43         AudioPolicyService::GetAudioPolicyService().GetActiveOutputDeviceDescriptor();
44     std::shared_ptr<AudioDeviceDescriptor> pairDevice = desc->pairDeviceDescriptor_;
45     bool isScoStateConnect = Bluetooth::AudioHfpManager::IsAudioScoStateConnect();
46     if (pairDevice != nullptr && pairDevice->connectState_ != SUSPEND_CONNECTED && !pairDevice->exceptionFlag_ &&
47         (pairDevice->isEnable_ || isScoStateConnect)) {
48         AUDIO_DEBUG_LOG("sourceType %{public}d clientUID %{public}d fetch device %{public}d", sourceType, clientUID,
49             pairDevice->deviceType_);
50         return make_shared<AudioDeviceDescriptor>(*pairDevice);
51     }
52     return make_shared<AudioDeviceDescriptor>();
53 }
54 
GetRingRenderDevices(StreamUsage streamUsage,int32_t clientUID)55 vector<std::shared_ptr<AudioDeviceDescriptor>> PairDeviceRouter::GetRingRenderDevices(StreamUsage streamUsage,
56     int32_t clientUID)
57 {
58     vector<shared_ptr<AudioDeviceDescriptor>> descs;
59     return descs;
60 }
61 
GetRecordCaptureDevice(SourceType sourceType,int32_t clientUID)62 shared_ptr<AudioDeviceDescriptor> PairDeviceRouter::GetRecordCaptureDevice(SourceType sourceType, int32_t clientUID)
63 {
64     return make_shared<AudioDeviceDescriptor>();
65 }
66 
GetToneRenderDevice(StreamUsage streamUsage,int32_t clientUID)67 shared_ptr<AudioDeviceDescriptor> PairDeviceRouter::GetToneRenderDevice(StreamUsage streamUsage, int32_t clientUID)
68 {
69     return make_shared<AudioDeviceDescriptor>();
70 }
71 
72 } // namespace AudioStandard
73 } // namespace OHOS