1 /* 2 * Copyright (c) 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 #ifndef CJ_AVPLAYER_FFI_H 17 #define CJ_AVPLAYER_FFI_H 18 19 #include "cj_avplayer.h" 20 #include "cj_avplayer_utils.h" 21 #include "cj_common_ffi.h" 22 #include "ffi_remote_data.h" 23 24 namespace OHOS { 25 namespace Media { 26 27 extern "C" { 28 // AVPlayer 29 FFI_EXPORT int64_t FfiMediaCreateAVPlayer(int32_t *errCode); 30 31 FFI_EXPORT char *FfiMediaAVPlayerGetUrl(int64_t id, int32_t *errCode); 32 FFI_EXPORT void FfiMediaAVPlayerSetUrl(int64_t id, char *url, int32_t *errCode); 33 FFI_EXPORT CAVFileDescriptor FfiMediaAVPlayerGetAVFileDescriptor(int64_t id, int32_t *errCode); 34 FFI_EXPORT void FfiMediaAVPlayerSetAVFileDescriptor(int64_t id, CAVFileDescriptor fileDescriptor, int32_t *errCode); 35 FFI_EXPORT CAVDataSrcDescriptor FfiMediaAVPlayerGetDataSrc(int64_t id, int32_t *errCode); 36 FFI_EXPORT void FfiMediaAVPlayerSetDataSrc(int64_t id, CAVDataSrcDescriptor dataSrcDescriptor, int32_t *errCode); 37 FFI_EXPORT char *FfiMediaAVPlayerGetSurfaceID(int64_t id, int32_t *errCode); 38 FFI_EXPORT void FfiMediaAVPlayerSetSurfaceID(int64_t id, char *surfaceId, int32_t *errCode); 39 FFI_EXPORT bool FfiMediaAVPlayerGetLoop(int64_t id, int32_t *errCode); 40 FFI_EXPORT void FfiMediaAVPlayerSetLoop(int64_t id, bool loop, int32_t *errCode); 41 FFI_EXPORT int32_t FfiMediaAVPlayerGetVideoScaleType(int64_t id, int32_t *errCode); 42 FFI_EXPORT void FfiMediaAVPlayerSetVideoScaleType(int64_t id, int32_t videoScaleType, int32_t *errCode); 43 FFI_EXPORT int32_t FfiMediaAVPlayerGetAudioInterruptMode(int64_t id, int32_t *errCode); 44 FFI_EXPORT void FfiMediaAVPlayerSetAudioInterruptMode(int64_t id, int32_t interruptMode, int32_t *errCode); 45 FFI_EXPORT OHOS::AudioStandard::CAudioRendererInfo FfiMediaAVPlayerGetAudioRendererInfo(int64_t id, int32_t *errCode); 46 FFI_EXPORT void FfiMediaAVPlayerSetAudioRendererInfo(int64_t id, OHOS::AudioStandard::CAudioRendererInfo info, 47 int32_t *errCode); 48 FFI_EXPORT int32_t FfiMediaAVPlayerGetAudioEffectMode(int64_t id, int32_t *errCode); 49 FFI_EXPORT void FfiMediaAVPlayerSetAudioEffectMode(int64_t id, int32_t effectMode, int32_t *errCode); 50 FFI_EXPORT char *FfiMediaAVPlayerGetState(int64_t id, int32_t *errCode); 51 FFI_EXPORT int32_t FfiMediaAVPlayerGetCurrentTime(int64_t id, int32_t *errCode); 52 FFI_EXPORT int32_t FfiMediaAVPlayerGetDuration(int64_t id, int32_t *errCode); 53 FFI_EXPORT int32_t FfiMediaAVPlayerGetWidth(int64_t id, int32_t *errCode); 54 FFI_EXPORT int32_t FfiMediaAVPlayerGetHeight(int64_t id, int32_t *errCode); 55 56 FFI_EXPORT int32_t FfiMediaAVPlayerPrepare(int64_t id); 57 FFI_EXPORT int32_t FfiMediaAVPlayerPlay(int64_t id); 58 FFI_EXPORT int32_t FfiMediaAVPlayerPause(int64_t id); 59 FFI_EXPORT int32_t FfiMediaAVPlayerStop(int64_t id); 60 FFI_EXPORT int32_t FfiMediaAVPlayerReset(int64_t id); 61 FFI_EXPORT int32_t FfiMediaAVPlayerRelease(int64_t id); 62 FFI_EXPORT int32_t FfiMediaAVPlayerSeek(int64_t id, int32_t time, int32_t mode); 63 64 FFI_EXPORT int32_t FfiMediaAVPlayerOnStateChange(int64_t id, int64_t callbackId); 65 FFI_EXPORT int32_t FfiMediaAVPlayerOffStateChange(int64_t id, int64_t callbackId); 66 FFI_EXPORT int32_t FfiMediaAVPlayerOffStateChangeAll(int64_t id); 67 FFI_EXPORT int32_t FfiMediaAVPlayerOnError(int64_t id, int64_t callbackId); 68 FFI_EXPORT int32_t FfiMediaAVPlayerOffError(int64_t id, int64_t callbackId); 69 FFI_EXPORT int32_t FfiMediaAVPlayerOffErrorAll(int64_t id); 70 FFI_EXPORT int32_t FfiMediaAVPlayerOnSeekDone(int64_t id, int64_t callbackId); 71 FFI_EXPORT int32_t FfiMediaAVPlayerOffSeekDone(int64_t id, int64_t callbackId); 72 FFI_EXPORT int32_t FfiMediaAVPlayerOffSeekDoneAll(int64_t id); 73 FFI_EXPORT int32_t FfiMediaAVPlayerOnSpeedDone(int64_t id, int64_t callbackId); 74 FFI_EXPORT int32_t FfiMediaAVPlayerOffSpeedDone(int64_t id, int64_t callbackId); 75 FFI_EXPORT int32_t FfiMediaAVPlayerOffSpeedDoneAll(int64_t id); 76 FFI_EXPORT int32_t FfiMediaAVPlayerOnBitRateDone(int64_t id, int64_t callbackId); 77 FFI_EXPORT int32_t FfiMediaAVPlayerOffBitRateDone(int64_t id, int64_t callbackId); 78 FFI_EXPORT int32_t FfiMediaAVPlayerOffBitRateDoneAll(int64_t id); 79 FFI_EXPORT int32_t FfiMediaAVPlayerOnAvailableBitrates(int64_t id, int64_t callbackId); 80 FFI_EXPORT int32_t FfiMediaAVPlayerOffAvailableBitrates(int64_t id, int64_t callbackId); 81 FFI_EXPORT int32_t FfiMediaAVPlayerOffAvailableBitratesAll(int64_t id); 82 FFI_EXPORT int32_t FfiMediaAVPlayerOnMediaKeySystemInfoUpdate(int64_t id, int64_t callbackId); 83 FFI_EXPORT int32_t FfiMediaAVPlayerOffMediaKeySystemInfoUpdate(int64_t id, int64_t callbackId); 84 FFI_EXPORT int32_t FfiMediaAVPlayerOffMediaKeySystemInfoUpdateAll(int64_t id); 85 FFI_EXPORT int32_t FfiMediaAVPlayerOnVolumeChange(int64_t id, int64_t callbackId); 86 FFI_EXPORT int32_t FfiMediaAVPlayerOffVolumeChange(int64_t id, int64_t callbackId); 87 FFI_EXPORT int32_t FfiMediaAVPlayerOffVolumeChangeAll(int64_t id); 88 FFI_EXPORT int32_t FfiMediaAVPlayerOnEndOfStream(int64_t id, int64_t callbackId); 89 FFI_EXPORT int32_t FfiMediaAVPlayerOffEndOfStream(int64_t id, int64_t callbackId); 90 FFI_EXPORT int32_t FfiMediaAVPlayerOffEndOfStreamAll(int64_t id); 91 FFI_EXPORT int32_t FfiMediaAVPlayerOnTimeUpdate(int64_t id, int64_t callbackId); 92 FFI_EXPORT int32_t FfiMediaAVPlayerOffTimeUpdate(int64_t id, int64_t callbackId); 93 FFI_EXPORT int32_t FfiMediaAVPlayerOffTimeUpdateAll(int64_t id); 94 FFI_EXPORT int32_t FfiMediaAVPlayerOnDurationUpdate(int64_t id, int64_t callbackId); 95 FFI_EXPORT int32_t FfiMediaAVPlayerOffDurationUpdate(int64_t id, int64_t callbackId); 96 FFI_EXPORT int32_t FfiMediaAVPlayerOffDurationUpdateAll(int64_t id); 97 FFI_EXPORT int32_t FfiMediaAVPlayerOnBufferingUpdate(int64_t id, int64_t callbackId); 98 FFI_EXPORT int32_t FfiMediaAVPlayerOffBufferingUpdate(int64_t id, int64_t callbackId); 99 FFI_EXPORT int32_t FfiMediaAVPlayerOffBufferingUpdateAll(int64_t id); 100 FFI_EXPORT int32_t FfiMediaAVPlayerOnStartRenderFrame(int64_t id, int64_t callbackId); 101 FFI_EXPORT int32_t FfiMediaAVPlayerOffStartRenderFrame(int64_t id, int64_t callbackId); 102 FFI_EXPORT int32_t FfiMediaAVPlayerOffStartRenderFrameAll(int64_t id); 103 FFI_EXPORT int32_t FfiMediaAVPlayerOnVideoSizeChange(int64_t id, int64_t callbackId); 104 FFI_EXPORT int32_t FfiMediaAVPlayerOffVideoSizeChange(int64_t id, int64_t callbackId); 105 FFI_EXPORT int32_t FfiMediaAVPlayerOffVideoSizeChangeAll(int64_t id); 106 FFI_EXPORT int32_t FfiMediaAVPlayerOnAudioInterrupt(int64_t id, int64_t callbackId); 107 FFI_EXPORT int32_t FfiMediaAVPlayerOffAudioInterrupt(int64_t id, int64_t callbackId); 108 FFI_EXPORT int32_t FfiMediaAVPlayerOffAudioInterruptAll(int64_t id); 109 FFI_EXPORT int32_t FfiMediaAVPlayerOnAudioDeviceChange(int64_t id, int64_t callbackId); 110 FFI_EXPORT int32_t FfiMediaAVPlayerOffAudioDeviceChange(int64_t id, int64_t callbackId); 111 FFI_EXPORT int32_t FfiMediaAVPlayerOffAudioDeviceChangeAll(int64_t id); 112 FFI_EXPORT int32_t FfiMediaAVPlayerOnSubtitleUpdate(int64_t id, int64_t callbackId); 113 FFI_EXPORT int32_t FfiMediaAVPlayerOffSubtitleUpdate(int64_t id, int64_t callbackId); 114 FFI_EXPORT int32_t FfiMediaAVPlayerOffSubtitleUpdateAll(int64_t id); 115 FFI_EXPORT int32_t FfiMediaAVPlayerOnTrackChange(int64_t id, int64_t callbackId); 116 FFI_EXPORT int32_t FfiMediaAVPlayerOffTrackChange(int64_t id, int64_t callbackId); 117 FFI_EXPORT int32_t FfiMediaAVPlayerOffTrackChangeAll(int64_t id); 118 FFI_EXPORT int32_t FfiMediaAVPlayerOnTrackInfoUpdate(int64_t id, int64_t callbackId); 119 FFI_EXPORT int32_t FfiMediaAVPlayerOffTrackInfoUpdate(int64_t id, int64_t callbackId); 120 FFI_EXPORT int32_t FfiMediaAVPlayerOffTrackInfoUpdateAll(int64_t id); 121 FFI_EXPORT int32_t FfiMediaAVPlayerOnAmplitudeUpdate(int64_t id, int64_t callbackId); 122 FFI_EXPORT int32_t FfiMediaAVPlayerOffAmplitudeUpdate(int64_t id, int64_t callbackId); 123 FFI_EXPORT int32_t FfiMediaAVPlayerOffAmplitudeUpdateAll(int64_t id); 124 125 FFI_EXPORT int32_t FfiMediaAVPlayerSetMediaSource(int64_t id, int64_t srcId, CPlayStrategy strategy); 126 FFI_EXPORT int32_t FfiMediaAVPlayerSetPlaybackStrategy(int64_t id, CPlayStrategy strategy); 127 FFI_EXPORT int32_t FfiMediaAVPlayerSetMediaMuted(int64_t id, int32_t mediaType, bool muted); 128 FFI_EXPORT CArrI32 FfiMediaAVPlayerGetSelectedTracks(int64_t id, int32_t *errCode); 129 FFI_EXPORT int32_t FfiMediaAVPlayerSelectTrack(int64_t id, int32_t index, int32_t mode); 130 FFI_EXPORT int32_t FfiMediaAVPlayerDeselectTrack(int64_t id, int32_t index); 131 FFI_EXPORT CArrCMediaKeySystemInfo FfiMediaAVPlayerGetMediaKeySystemInfos(int64_t id, int32_t *errCode); 132 FFI_EXPORT void FfiMediaAVPlayerSetSpeed(int64_t id, int32_t speed); 133 FFI_EXPORT void FfiMediaAVPlayerSetBitrate(int64_t id, int32_t bitrate); 134 FFI_EXPORT void FfiMediaAVPlayerSetVolume(int64_t id, float volume); 135 FFI_EXPORT int32_t FfiMediaAVPlayerAddSubtitleFromFd(int64_t id, int32_t fd, int64_t offset, int64_t length); 136 FFI_EXPORT int32_t FfiMediaAVPlayerAddSubtitleFromUrl(int64_t id, char *url); 137 FFI_EXPORT CArrCPlaybackInfo FfiMediaAVPlayerGetPlaybackInfo(int64_t id, int32_t *errCode); 138 FFI_EXPORT CArrCMediaDescription FfiMediaAVPlayerGetTrackDescription(int64_t id, int32_t *errCode); 139 } // extern "C" 140 } // namespace Media 141 } // namespace OHOS 142 #endif