• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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