1 /* 2 * Copyright (C) 2022 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 #ifndef I_STANDARD_RECORDERPROFILES_SERVICE_H 17 #define I_STANDARD_RECORDERPROFILES_SERVICE_H 18 19 #include "ipc_types.h" 20 #include "iremote_broker.h" 21 #include "iremote_proxy.h" 22 #include "iremote_stub.h" 23 #include "i_recorder_profiles_service.h" 24 #include "buffer/avsharedmemory.h" 25 26 namespace OHOS { 27 namespace Media { 28 /** 29 * IPC code ID 30 */ 31 enum class RecorderProfilesServiceMsg : uint32_t { 32 RECORDER_PROFILES_IS_AUDIO_RECORDER_SUPPORT = 1, 33 RECORDER_PROFILES_HAS_VIDEO_RECORD_PROFILE, 34 RECORDER_PROFILES_GET_AUDIO_RECORDER_CAPS, 35 RECORDER_PROFILES_GET_VIDEO_RECORDER_CAPS, 36 RECORDER_PROFILES_GET_VIDEO_RECORDER_PROFILE, 37 RECORDER_PROFILES_DESTROY 38 }; 39 class IStandardRecorderProfilesService : public IRemoteBroker { 40 public: 41 virtual ~IStandardRecorderProfilesService() = default; 42 virtual bool IsAudioRecorderConfigSupported(const RecorderProfilesData &profile) = 0; 43 virtual bool HasVideoRecorderProfile(int32_t sourceId, int32_t qualityLevel) = 0; 44 virtual std::vector<RecorderProfilesData> GetAudioRecorderCapsInfo() = 0; 45 virtual std::vector<RecorderProfilesData> GetVideoRecorderCapsInfo() = 0; 46 virtual RecorderProfilesData GetVideoRecorderProfileInfo(int32_t sourceId, int32_t qualityLevel) = 0; 47 virtual int32_t DestroyStub() = 0; 48 49 DECLARE_INTERFACE_DESCRIPTOR(u"IStandardRecorderProfilesService"); 50 }; 51 } // namespace Media 52 } // namespace OHOS 53 #endif // I_STANDARD_RECORDERPROFILES_SERVICE_H 54