summaryrefslogtreecommitdiff
path: root/PLUGINS/src/dvbhddevice/hdffcmd.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2011-04-17 16:50:00 +0200
committerKlaus Schmidinger <Klaus (dot) Schmidinger (at) tvdr (dot) de>2011-04-17 17:09:00 +0200
commit8b9350c091bc5ae8c9bb30b83a1fb567c3a7cb7f (patch)
tree51880b55c64c719561524fa4721d933b9205656e /PLUGINS/src/dvbhddevice/hdffcmd.h
parent5619c0602bc623adeddf3385ada8c742aaea9762 (diff)
downloadvdr-patches-8b9350c091bc5ae8c9bb30b83a1fb567c3a7cb7f.tar.gz
vdr-patches-8b9350c091bc5ae8c9bb30b83a1fb567c3a7cb7f.tar.bz2
Version 1.7.18
- Changed -O2 to -O3 in Make.config.template (reported by Matti Lehtimäki). - Added a missing 'default' case in cPixmapMemory::DrawEllipse(). - Fixed some direct comparisons of double values. - Fixed detecting frames on channels that broadcast with separate "fields" instead of complete frames. - Made updating the editing marks during replay react faster in case the marks file has just been written (with a patch from Udo Richter). - Fixed horizontal scaling of subtitles (reported by Reinhard Nissl). - Stripped the note "The data returned by this function is only used for informational purposes (if any)" from the description of cDevice::GetVideoSize(). The VideoAspect is now used to properly scale subtitles. - Fixed cUnbufferedFile::Seek() in case it is compiled without USE_FADVISE (thanks to Juergen Lock). - Fixed the Language header of the Serbian translation file (thanks to Ville Skyttä). - Added anti-aliasing when upscaling bitmaps, which improves the display of SD subtitles when replayed on an HD OSD (thanks to Reinhard Nissl for his help in debugging). - Renamed cBitmap::Scale() to Scaled(), because it doesn't modify the bitmap itself, but rather returns a scaled copy. - Fixed the description of cReceiver in PLUGINS.html, regarding detaching a receiver from its device before deleting it (reported by Winfried Köhler). This change in behavior was introduced in version 1.5.7. - Fixed scaling subtitles in case the OSD size is exactly the same as the display size of the subtitles. - Added a missing initialization to sDvbSpuRect (reported by Sergiu Dotenco). - Replaced "%lld" and "%llX" print format specifiers with "PRId64" and "PRIX64" to avoid compiler warnings with gcc 4.5.2 (thanks to Sergiu Dotenco). On a personal note: I find it a step in the totally wrong direction that there have been macros introduced to work around this problem in the first place. There should have been "real" format specifiers defined that address this. These macros are nothing but an ugly workaround. - Added Cancel(3) to ~cTrueColorDemo() in the "osddemo" plugin (thanks to Reinhard Nissl). - Added a missing font deletion in cTrueColorDemo::Action() in the "osddemo" plugin (thanks to Reinhard Nissl). - Fixed a buffer overflow in cFont::Bidi() (thanks to Reinhard Nissl). - Added HD stream content identifiers to vdr.5 (thanks to Christoph Haubrich). - Made cRecordingInfo::Read(FILE *f) private to avoid calls to it from outside cRecordingInfo or cRecording (reported by Mika Laitio). - The dvbhddevice plugin is now part of the VDR distribution archive (thanks to Andreas Regel). - Removed an obsolete local variable in dvbsdffosd.c (thanks to Paul Menzel). - Fixed a possible NULL pointer dereference in osddemo.c (reported by Paul Menzel). - Now using pkg-config to get fribidi, freetype and fontconfig cflags and libs (thanks to Ville Skyttä). - The Makefile now also installs the include files (thanks to Ville Skyttä). - Added handling of "ANSI/SCTE 57" descriptors (thanks too Rolf Ahrenberg). - Avoiding an unecessary call to Recordings.ResetResume() (thanks to Reinhard Nissl).
Diffstat (limited to 'PLUGINS/src/dvbhddevice/hdffcmd.h')
-rw-r--r--PLUGINS/src/dvbhddevice/hdffcmd.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/PLUGINS/src/dvbhddevice/hdffcmd.h b/PLUGINS/src/dvbhddevice/hdffcmd.h
new file mode 100644
index 0000000..cd641eb
--- /dev/null
+++ b/PLUGINS/src/dvbhddevice/hdffcmd.h
@@ -0,0 +1,102 @@
+/*
+ * hdffcmd.h: TODO(short description)
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id: hdffcmd.h 1.17 2011/04/17 11:20:22 kls Exp $
+ */
+
+#ifndef _HDFF_CMD_H_
+#define _HDFF_CMD_H_
+
+#include "bitbuffer.h"
+#include "hdffmsgdef.h"
+
+namespace HDFF
+{
+
+class cHdffCmdIf
+{
+private:
+ int mOsdDev;
+
+ void CmdBuildHeader(cBitBuffer & MsgBuf, eMessageType MsgType, eMessageGroup MsgGroup, eMessageId MsgId);
+ uint32_t CmdSetLength(cBitBuffer & MsgBuf);
+
+public:
+ cHdffCmdIf(int OsdDev);
+ ~cHdffCmdIf(void);
+
+ uint32_t CmdGetFirmwareVersion(char * pString, uint32_t MaxLength);
+ uint32_t CmdGetInterfaceVersion(char * pString, uint32_t MaxLength);
+ uint32_t CmdGetCopyrights(uint8_t Index, char * pString, uint32_t MaxLength);
+
+ void CmdAvSetPlayMode(uint8_t PlayMode, bool Realtime);
+ void CmdAvSetVideoPid(uint8_t DecoderIndex, uint16_t VideoPid, eVideoStreamType StreamType, bool PlaybackMode = false);
+ void CmdAvSetAudioPid(uint8_t DecoderIndex, uint16_t AudioPid, eAudioStreamType StreamType, eAVContainerType ContainerType = avContainerPes);
+ void CmdAvSetPcrPid(uint8_t DecoderIndex, uint16_t PcrPid);
+ void CmdAvSetTeletextPid(uint8_t DecoderIndex, uint16_t TeletextPid);
+ void CmdAvSetVideoWindow(uint8_t DecoderIndex, bool Enable, uint16_t X, uint16_t Y, uint16_t Width, uint16_t Height);
+ void CmdAvShowStillImage(uint8_t DecoderIndex, const uint8_t * pStillImage, int Size, eVideoStreamType StreamType);
+ void CmdAvSetDecoderInput(uint8_t DecoderIndex, uint8_t DemultiplexerIndex);
+ void CmdAvSetDemultiplexerInput(uint8_t DemultiplexerIndex, uint8_t TsInputIndex);
+ void CmdAvSetVideoFormat(uint8_t DecoderIndex, const tVideoFormat * pVideoFormat);
+ void CmdAvSetVideoOutputMode(uint8_t DecoderIndex, eVideoOutputMode OutputMode);
+ void CmdAvSetStc(uint8_t DecoderIndex, uint64_t Stc);
+ void CmdAvFlushBuffer(uint8_t DecoderIndex, bool FlushAudio, bool FlushVideo);
+ void CmdAvEnableSync(uint8_t DecoderIndex, bool EnableSync);
+ void CmdAvSetVideoSpeed(uint8_t DecoderIndex, int32_t Speed);
+ void CmdAvSetAudioSpeed(uint8_t DecoderIndex, int32_t Speed);
+ void CmdAvEnableVideoAfterStop(uint8_t DecoderIndex, bool EnableVideoAfterStop);
+ void CmdAvSetAudioDelay(int16_t Delay);
+ void CmdAvSetAudioDownmix(eDownmixMode DownmixMode);
+ void CmdAvSetAudioChannel(uint8_t AudioChannel);
+
+ void CmdOsdConfigure(const tOsdConfig * pConfig);
+ void CmdOsdReset(void);
+
+ uint32_t CmdOsdCreateDisplay(uint32_t Width, uint32_t Height, eColorType ColorType);
+ void CmdOsdDeleteDisplay(uint32_t hDisplay);
+ void CmdOsdEnableDisplay(uint32_t hDisplay, bool Enable);
+ void CmdOsdSetDisplayOutputRectangle(uint32_t hDisplay, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height);
+ void CmdOsdSetDisplayClippingArea(uint32_t hDisplay, bool Enable, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height);
+ void CmdOsdRenderDisplay(uint32_t hDisplay);
+
+ uint32_t CmdOsdCreatePalette(eColorType ColorType, eColorFormat ColorFormat,
+ uint32_t NumColors, const uint32_t * pColors);
+ void CmdOsdDeletePalette(uint32_t hPalette);
+ void CmdOsdSetDisplayPalette(uint32_t hDisplay, uint32_t hPalette);
+ void CmdOsdSetPaletteColors(uint32_t hPalette, eColorFormat ColorFormat,
+ uint8_t StartColor, uint32_t NumColors, const uint32_t * pColors);
+
+ uint32_t CmdOsdCreateFontFace(const uint8_t * pFontData, uint32_t DataSize);
+ void CmdOsdDeleteFontFace(uint32_t hFontFace);
+ uint32_t CmdOsdCreateFont(uint32_t hFontFace, uint32_t Size);
+ void CmdOsdDeleteFont(uint32_t hFont);
+
+ void CmdOsdDrawRectangle(uint32_t hDisplay, int X, int Y, int Width, int Height, uint32_t Color);
+ void CmdOsdDrawEllipse(uint32_t hDisplay, int CX, int CY, int RadiusX, int RadiusY,
+ uint32_t Color, uint32_t Flags);
+ void CmdOsdDrawText(uint32_t hDisplay, uint32_t hFont, int X, int Y, const char * pText, uint32_t Color);
+ void CmdOsdDrawTextW(uint32_t hDisplay, uint32_t hFont, int X, int Y, const uint16_t * pText, uint32_t Color);
+ void CmdOsdDrawBitmap(uint32_t hDisplay, int X, int Y, const uint8_t * pBitmap,
+ int BmpWidth, int BmpHeight, int BmpSize,
+ eColorType ColorType, uint32_t hPalette);
+ void CmdOsdSaveRegion(uint32_t hDisplay, int X, int Y, int Width, int Height);
+ void CmdOsdRestoreRegion(uint32_t hDisplay);
+
+ void CmdMuxSetVideoOut(eVideoOut VideoOut);
+ void CmdMuxSetVolume(uint8_t Volume);
+ void CmdMuxMuteAudio(bool Mute);
+
+ void CmdHdmiSetVideoMode(eHdmiVideoMode VideoMode);
+ void CmdHdmiConfigure(const tHdmiConfig * pConfig);
+ void CmdHdmiSendCecCommand(eCecCommand Command);
+
+ void CmdRemoteSetProtocol(eRemoteProtocol Protocol);
+ void CmdRemoteSetAddressFilter(bool Enable, uint32_t Address);
+};
+
+} // end of namespace
+
+#endif