vdr  1.7.27
hdffcmd.h
Go to the documentation of this file.
00001 /*
00002  * hdffcmd.h: TODO(short description)
00003  *
00004  * See the README file for copyright information and how to reach the author.
00005  *
00006  * $Id: hdffcmd.h 1.19 2012/02/06 11:09:27 kls Exp $
00007  */
00008 
00009 #ifndef _HDFF_CMD_H_
00010 #define _HDFF_CMD_H_
00011 
00012 #include "libhdffcmd/hdffcmd.h"
00013 
00014 namespace HDFF
00015 {
00016 
00017 class cHdffCmdIf
00018 {
00019 private:
00020     int mOsdDev;
00021 
00022 public:
00023     cHdffCmdIf(int OsdDev);
00024     ~cHdffCmdIf(void);
00025 
00026     uint32_t CmdGetFirmwareVersion(char * pString, uint32_t MaxLength);
00027     uint32_t CmdGetInterfaceVersion(char * pString, uint32_t MaxLength);
00028     uint32_t CmdGetCopyrights(uint8_t Index, char * pString, uint32_t MaxLength);
00029 
00030     void CmdAvSetPlayMode(uint8_t PlayMode, bool Realtime);
00031     void CmdAvSetVideoPid(uint8_t DecoderIndex, uint16_t VideoPid, HdffVideoStreamType_t StreamType, bool PlaybackMode = false);
00032     void CmdAvSetAudioPid(uint8_t DecoderIndex, uint16_t AudioPid, HdffAudioStreamType_t StreamType, HdffAvContainerType_t ContainerType = HDFF_AV_CONTAINER_PES);
00033     void CmdAvSetPcrPid(uint8_t DecoderIndex, uint16_t PcrPid);
00034     void CmdAvSetTeletextPid(uint8_t DecoderIndex, uint16_t TeletextPid);
00035     void CmdAvSetVideoWindow(uint8_t DecoderIndex, bool Enable, uint16_t X, uint16_t Y, uint16_t Width, uint16_t Height);
00036     void CmdAvShowStillImage(uint8_t DecoderIndex, const uint8_t * pStillImage, int Size, HdffVideoStreamType_t StreamType);
00037     void CmdAvSetDecoderInput(uint8_t DecoderIndex, uint8_t DemultiplexerIndex);
00038     void CmdAvSetDemultiplexerInput(uint8_t DemultiplexerIndex, uint8_t TsInputIndex);
00039     void CmdAvSetVideoFormat(uint8_t DecoderIndex, const HdffVideoFormat_t * pVideoFormat);
00040     void CmdAvSetVideoOutputMode(uint8_t DecoderIndex, HdffVideoOutputMode_t OutputMode);
00041     void CmdAvSetStc(uint8_t DecoderIndex, uint64_t Stc);
00042     void CmdAvFlushBuffer(uint8_t DecoderIndex, bool FlushAudio, bool FlushVideo);
00043     void CmdAvEnableSync(uint8_t DecoderIndex, bool EnableSync);
00044     void CmdAvSetVideoSpeed(uint8_t DecoderIndex, int32_t Speed);
00045     void CmdAvSetAudioSpeed(uint8_t DecoderIndex, int32_t Speed);
00046     void CmdAvEnableVideoAfterStop(uint8_t DecoderIndex, bool EnableVideoAfterStop);
00047     void CmdAvSetAudioDelay(int16_t Delay);
00048     void CmdAvSetAudioDownmix(HdffAudioDownmixMode_t DownmixMode);
00049     void CmdAvSetAudioChannel(uint8_t AudioChannel);
00050 
00051     void CmdOsdConfigure(const HdffOsdConfig_t * pConfig);
00052     void CmdOsdReset(void);
00053 
00054     uint32_t CmdOsdCreateDisplay(uint32_t Width, uint32_t Height, HdffColorType_t ColorType);
00055     void CmdOsdDeleteDisplay(uint32_t hDisplay);
00056     void CmdOsdEnableDisplay(uint32_t hDisplay, bool Enable);
00057     void CmdOsdSetDisplayOutputRectangle(uint32_t hDisplay, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height);
00058     void CmdOsdSetDisplayClippingArea(uint32_t hDisplay, bool Enable, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height);
00059     void CmdOsdRenderDisplay(uint32_t hDisplay);
00060 
00061     uint32_t CmdOsdCreatePalette(HdffColorType_t ColorType, HdffColorFormat_t ColorFormat,
00062                                  uint32_t NumColors, const uint32_t * pColors);
00063     void CmdOsdDeletePalette(uint32_t hPalette);
00064     void CmdOsdSetDisplayPalette(uint32_t hDisplay, uint32_t hPalette);
00065     void CmdOsdSetPaletteColors(uint32_t hPalette, HdffColorFormat_t ColorFormat,
00066                                 uint8_t StartColor, uint32_t NumColors, const uint32_t * pColors);
00067 
00068     uint32_t CmdOsdCreateFontFace(const uint8_t * pFontData, uint32_t DataSize);
00069     void CmdOsdDeleteFontFace(uint32_t hFontFace);
00070     uint32_t CmdOsdCreateFont(uint32_t hFontFace, uint32_t Size);
00071     void CmdOsdDeleteFont(uint32_t hFont);
00072 
00073     void CmdOsdDrawRectangle(uint32_t hDisplay, int X, int Y, int Width, int Height, uint32_t Color);
00074     void CmdOsdDrawEllipse(uint32_t hDisplay, int CX, int CY, int RadiusX, int RadiusY,
00075                            uint32_t Color, uint32_t Flags);
00076     void CmdOsdDrawText(uint32_t hDisplay, uint32_t hFont, int X, int Y, const char * pText, uint32_t Color);
00077     void CmdOsdDrawTextW(uint32_t hDisplay, uint32_t hFont, int X, int Y, const uint16_t * pText, uint32_t Color);
00078     void CmdOsdDrawBitmap(uint32_t hDisplay, int X, int Y, const uint8_t * pBitmap,
00079                           int BmpWidth, int BmpHeight, int BmpSize,
00080                           HdffColorType_t ColorType, uint32_t hPalette);
00081     void CmdOsdSaveRegion(uint32_t hDisplay, int X, int Y, int Width, int Height);
00082     void CmdOsdRestoreRegion(uint32_t hDisplay);
00083 
00084     void CmdMuxSetVideoOut(HdffVideoOut_t VideoOut);
00085     void CmdMuxSetVolume(uint8_t Volume);
00086     void CmdMuxMuteAudio(bool Mute);
00087 
00088     void CmdHdmiSetVideoMode(HdffVideoMode_t VideoMode);
00089     void CmdHdmiConfigure(const HdffHdmiConfig_t * pConfig);
00090     void CmdHdmiSendCecCommand(HdffCecCommand_t Command);
00091 
00092     void CmdRemoteSetProtocol(HdffRemoteProtocol_t Protocol);
00093     void CmdRemoteSetAddressFilter(bool Enable, uint32_t Address);
00094 };
00095 
00096 } // end of namespace
00097 
00098 #endif