75 lines
3.0 KiB
C++
75 lines
3.0 KiB
C++
/*
|
|
* Copyright (c) 2020 Amlogic, Inc. All rights reserved.
|
|
*
|
|
* This source code is subject to the terms and conditions defined in the
|
|
* file 'LICENSE' which is part of this source code package.
|
|
*
|
|
* Description:
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
|
|
namespace aml_mp {
|
|
class Aml_MP_PlayerBase : public AmlMpHandle
|
|
{
|
|
public:
|
|
Aml_MP_PlayerBase() = default;
|
|
~Aml_MP_PlayerBase() = default;
|
|
virtual int registerEventCallback(Aml_MP_PlayerEventCallback cb, void* userData) = 0;
|
|
virtual int setVideoParams(const Aml_MP_VideoParams* params) = 0;
|
|
virtual int setAudioParams(const Aml_MP_AudioParams* params) = 0;;
|
|
virtual int setADParams(Aml_MP_AudioParams* params) = 0;
|
|
virtual int setSubtitleParams(const Aml_MP_SubtitleParams* params) = 0;
|
|
virtual int setCasSession(AML_MP_CASSESSION casSession) = 0;
|
|
virtual int setIptvCASParams(Aml_MP_CASServiceType serviceType, const Aml_MP_IptvCASParams* params) = 0;
|
|
virtual int start() = 0;
|
|
virtual int stop() = 0;
|
|
virtual int pause() = 0;
|
|
virtual int resume() = 0;
|
|
virtual int flush() = 0;
|
|
virtual int setPlaybackRate(float rate) = 0;
|
|
virtual int setPlaybackRate2(float rate, Aml_MP_VideoDecodeMode decodeMode) = 0;
|
|
virtual int getPlaybackRate(float* rate) = 0;
|
|
virtual int switchAudioTrack(const Aml_MP_AudioParams* params) = 0;
|
|
virtual int switchSubtitleTrack(const Aml_MP_SubtitleParams* params) = 0;
|
|
virtual int writeData(const uint8_t* buffer, size_t size) = 0;
|
|
virtual int writeEsData(Aml_MP_StreamType type, const uint8_t* buffer, size_t size, int64_t pts) = 0;
|
|
virtual int getCurrentPts(Aml_MP_StreamType, int64_t* pts) = 0;
|
|
virtual int getFirstPts(Aml_MP_StreamType, int64_t* pts) = 0;
|
|
virtual int getBufferStat(Aml_MP_BufferStat* bufferStat) = 0;
|
|
virtual int setANativeWindow(ANativeWindow* nativeWindow) = 0;
|
|
virtual int setVideoWindow(int x, int y, int width, int height) = 0;
|
|
virtual int setVolume(float volume) = 0;
|
|
virtual int getVolume(float* volume) = 0;
|
|
virtual int showVideo() = 0;
|
|
virtual int hideVideo() = 0;
|
|
virtual int showSubtitle() = 0;
|
|
virtual int hideSubtitle() = 0;
|
|
virtual int setParameter(Aml_MP_PlayerParameterKey key, void* parameter) = 0;
|
|
virtual int getParameter(Aml_MP_PlayerParameterKey key, void* parameter) = 0;
|
|
|
|
virtual int setAVSyncSource(Aml_MP_AVSyncSource syncSource) = 0;
|
|
virtual int setPcrPid(int pid) = 0;
|
|
|
|
virtual int startVideoDecoding() = 0;
|
|
virtual int stopVideoDecoding() = 0;
|
|
|
|
virtual int startAudioDecoding() = 0;
|
|
virtual int stopAudioDecoding() = 0;
|
|
|
|
virtual int startADDecoding() = 0;
|
|
virtual int stopADDecoding() = 0;
|
|
|
|
virtual int startSubtitleDecoding() = 0;
|
|
virtual int stopSubtitleDecoding() = 0;
|
|
|
|
virtual int setSubtitleWindow(int x, int y, int width, int height) = 0;
|
|
|
|
virtual int getDecodingState(Aml_MP_StreamType streamType, AML_MP_DecodingState* streamState) = 0;
|
|
|
|
virtual int setADVolume(float volume) = 0;
|
|
virtual int getADVolume(float* volume) = 0;
|
|
};
|
|
}
|