📄 decoderiface.h
字号:
@param value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetDVIHDMIAutoEDID(RMbool auto_edid) PURE_VIRTUAL; /** Set component mode and color space @param value @return RM_OK if succeeded, RM_ERROR otherwise */ // virtual RMstatus SetComponentOutFormat(enum EMhwlibComponentMode component, enum EMhwlibColorSpace color_space) PURE_VIRTUAL; /** Returns whether or not DVI cable is connected @param value @return TRUE if connected, FALSE otherwise */ virtual RMbool GetHDMIConnected() PURE_VIRTUAL; /** Returns whether or not we know TV supports DHCP @param value @return TRUE if so, FALSE otherwise */ virtual RMbool GetHDCPState() PURE_VIRTUAL; /** Get the css table containing all functions to interact with the decoder regarding CSS commands @return CSSDecoderCallBackTableType, NULL otherwise */ // virtual CSSDecoderCallBackTableType *GetCssDecoderTable() PURE_VIRTUAL; /** Pause the playback @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Pause() PURE_VIRTUAL; /** Start the playback with the specified speed @param speed : playback speed @param isAudioOnly : specify is audio needs to be played back also (at the specified speed) @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Forward(RMuint32 speed, RMbool isAudioOnly) PURE_VIRTUAL; /** Start the backward playback with the specified speed @param speed : playback speed @param isAudioOnly : specify is audio needs to be played back also (at the specified speed) @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Backward(RMuint32 speed, RMbool isAudioOnly) PURE_VIRTUAL; /** Stop the playback @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Stop() PURE_VIRTUAL; /** Start the playback @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Play() PURE_VIRTUAL; /** Send audio, video data to the decoder @param pStart : pointer to the data @param PTS : PTS of this packet (only if this is a demuxed packet) @param isPTSAvailable : tells if the PTS is valid or not (only if this is a demuxed packet) @param SCR : SCR corresponding to this packet (only if this is a demuxed packet) @param FirstAccessUnitPointer : offset to the first access unit pointer in this packet (only if this is a demuxed packet) @param sampleSize : data size @param offset : offset to apply from the beginning of this buffer @param type : type of packet AUDIO_SAMPLE (directly send to audio decoder) VIDEO_SAMPLE (directly send to video decoder) SPU_SAMPLE (directly send to video decoder) MUXED_SAMPLE (send to hardware demux) ASV_SAMPLE = DVD-AUDIO still picture (directly send to video decoder) @param disablePTS : force to discard the specified PTS @param setScrOnce : force to set the SCR to the specified value @param setVobuSPtmOnce : force to set the VOBU SPTM @param VOBU_S_PTM : SPTM of the current VOBU @param copy : TRUE : data is copied into an intermediate buffer FALSE : the passed buffer is directly sent to the decoder @return RM_OK if succeeded, RM_ERROR otherwise */ virtual void SendData(RMuint8 *pStart, RMuint64 PTS, RMbool isPTSAvailable, RMuint64 SCR, RMint32 FirstAccessUnitPointer, RMuint32 sampleSize, RMuint32 offset, RMSampleType type, RMbool disablePTS, RMbool setScrOnce, RMbool setVobuSPtmOnce, RMuint64 VOBU_S_PTM, RMbool copy) PURE_VIRTUAL; virtual void SendData(RMuint8 *pStart, RMuint64 PTS, RMbool isPTSAvailable, RMuint64 SCR, RMint32 FirstAccessUnitPointer, RMuint16 nFrameHeaders, RMuint16 EncryptedInfo, RMuint32 sampleSize, RMuint32 offset, RMSampleType type, RMbool disablePTS, RMbool setScrOnce, RMbool setVobuSPtmOnce, RMuint64 VOBU_S_PTM); /** Get an internal buffer (used to send data without copy). @param type : specify the type of sample to set into it in order to distinguish between pools where to get the buffer from AUDIO_SAMPLE : default pool VIDEO_SAMPLE : default pool SPU_SAMPLE : default pool MUXED_SAMPLE : default pool ASV_SAMPLE : specific ASV pool @return NULL if failed to get a buffer, pointer to the buffer otherwise. */ virtual RMuint8 *GetBuffer(RMSampleType type) PURE_VIRTUAL; /** Release an internal buffer (used to send data without copy). @return NULL if failed to get a buffer, pointer to the buffer otherwise. */ virtual void ReleaseBuffer(RMSampleType type, RMuint8 *pBuf) PURE_VIRTUAL; /** Returns all information of a pool depending on the sample type (there is different pool allocated for different sample type) @param type : (out) type of the pool @param bufferSize : (out) max size of returned buffer for type @param nbBuffer : number of buffer in the pool for type. */ virtual void GetPoolInfo(RMSampleType type, RMuint32 *bufferSize, RMuint32 *nbBuffer) PURE_VIRTUAL; /** Get the current STC @param STC : (out) current STC value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus GetSTC(RMuint64* stc); /** Set an offset to all PTS sent to the decoder. @param offset : offset to set @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetSTCOffset(RMuint64 offset); /** Get title key of a DVD (DVD-Audio or DVD-Video) Used to authenticate disc (CSS) nd decrypt encrypted data @param titleKey : (out) key @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus GetTitleKey(RMuint8 titleKey[5]); /** Get an instance of rua. This instance may be needed by other class ... the GUI for example. @return pointer to RUA instance ... NULL otherwise. */ virtual void *GetRUAInstance(); virtual void *GetDCCInstance(); virtual void SetDCCInfo(void *p); virtual void ResetDCCInfo(); /** Set the output audio volume @param value : volume value @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetVolume(RMuint32 value) PURE_VIRTUAL; /** Get the time, in seconds, of the displayed frame. @param type : audio_sample or video_sample to distinguish which imer to use @param time : (out) time of the displayed frame (unit == seconds) @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus GetTimeDisplayedFrame(RMSampleType type, RMuint64 *time) PURE_VIRTUAL; /** Set the macrovision level. @param level : the macrovision level @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetMacrovisionLevel(RMuint32 level) PURE_VIRTUAL; /** Play next Frame and pause @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus Step() PURE_VIRTUAL; /** ResumePlayback from Step @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus ResumeFromStep() PURE_VIRTUAL; /** Set audio output dual mode. @param mode : the output dual mode @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetDualMode(enum OutputDualMode_type mode) PURE_VIRTUAL; /** Get audio output dual mode. @param mode : the output dual mode @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus GetDualMode(enum OutputDualMode_type *mode) PURE_VIRTUAL; /** Set spidif mode. @param mode : the spdif mode @return RM_OK if succeeded, RM_ERROR otherwise */ virtual RMstatus SetSpdifMode(enum OutputSpdif_type mode) PURE_VIRTUAL; virtual RMstatus GetSpdifMode(enum OutputSpdif_type *mode) PURE_VIRTUAL; virtual RMstatus SetTVType(RMTvTypes tvType, EMhwlibScalingMode scalingmode) PURE_VIRTUAL; virtual RMstatus ScaleDisplay(RMuint32 scaler, RMuint16 x, RMuint16 y, RMuint16 width, RMuint16 height) PURE_VIRTUAL; virtual RMstatus EnableSPUSurface(RMbool enable) PURE_VIRTUAL; virtual RMstatus GetAudioOutputChannels(RMuint8 *channels) PURE_VIRTUAL; virtual RMstatus SetAudioOutputChannels(RMuint8 channels) PURE_VIRTUAL; // disable video connector, NULL for current virtual RMstatus DisableVideoConnector(enum DCCVideoConnector *pConnector) PURE_VIRTUAL; protected:#ifndef WITH_MONO RMTcontrolInterface m_ctrl;#endif// CSSDecoderCallBackTableType m_cssDecoderCallBackTable; typeCuracaoContext *m_context; private:};#endif // __RMDECODERIFACE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -