1/* Copyright (c) 2025 Huawei Device Co., Ltd. 2 * Licensed under the Apache License, Version 2.0 (the "License"); 3 * you may not use this file except in compliance with the License. 4 * You may obtain a copy of the License at 5 * 6 * http://www.apache.org/licenses/LICENSE-2.0 7 * 8 * Unless required by applicable law or agreed to in writing, software 9 * distributed under the License is distributed on an "AS IS" BASIS, 10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 * See the License for the specific language governing permissions and 12 * limitations under the License. 13 */ 14 15sequenceable AvplaybackState..OHOS.AVSession.AVPlaybackState; 16sequenceable AvqueueItem..OHOS.AVSession.AVQueueItem; 17sequenceable WantParams..OHOS.AAFwk.WantParams; 18sequenceable AVSharedMemoryBase..OHOS.AVSession.AVSharedMemoryBase; 19sequenceable OHOS.IRemoteObject; 20 21interface OHOS.AVSession.IAVCastControllerCallback { 22 [oneway] void OnCastPlaybackStateChange([in] AVPlaybackState state); 23 24 [oneway, ipcincapacity 1024] void OnMediaItemChange([in] AVQueueItem avQueueItem); 25 26 [oneway] void OnPlayNext(); 27 28 [oneway] void OnPlayPrevious(); 29 30 [oneway] void OnSeekDone([in] int seekNumber); 31 32 [oneway] void OnVideoSizeChange([in] int width, [in] int height); 33 34 [oneway] void OnPlayerError([in] int errorCode, [in] String errorMsg); 35 36 [oneway] void OnEndOfStream([in] int isLooping); 37 38 [oneway] void OnPlayRequest([in] AVQueueItem avQueueItem); 39 40 [oneway, ipcincapacity 1024] void OnKeyRequest([in] String assetId, [in] unsigned char[] keyRequestData); 41 42 [oneway] void OnCastValidCommandChanged([in] int[] cmds); 43 44 [oneway] void OnCustomData([in] WantParams customData); 45 46 void onDataSrcRead([in] sharedptr<AVSharedMemoryBase> mem, [in] unsigned int length, [in] long pos, [out] int ret); 47}