Klaus Schmidinger b8b6cd3e89 Version 1.7.39
VDR developer version 1.7.39 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.39.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.38-1.7.39.diff

MD5 checksums:

3f0681f4aa6bd8deffc8208c40d34d2d  vdr-1.7.39.tar.bz2
1c13a683694c6c3c52444c1689477876  vdr-1.7.38-1.7.39.diff

WARNING:
========

This is a developer version. Even though I use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.

Approaching version 2.0.0:
==========================

If all goes well, there will be just one more developer version after
this one, and then it's going to be version 2.0.0.

From the HISTORY file:
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Updated the Polish OSD texts (thanks to Marek Nazarko).
- Modified handling user inactivity in the shutdown handler to avoid a problem in case
  the system time is changed after VDR has been started (thanks to Udo Richter, reported
  by Sören Moch).
- Updated the Czech OSD texts (thanks to Ales Jurik).
- Changed the template for PLGCFG to $(CONFDIR)/plugins.mk (thanks to Ville Skyttä).
- Updated the Swedish OSD texts (thanks to Richard Lithvall).
- Now clearing device bondings for devices that don't provide DVB-S in the Setup/LNB
  menu (reported by Juergen Lock).
- Fixed a possible deadlock in handling the tuners of bonded devices (thanks to
  Juergen Lock).
- Improved working around the broken driver values for SNR in case of a "TT-budget
  S2-3200" receiving DVB-S2.
- The demos in the "osddemo" plugin can now also be ended with the "Back" key.
- Fixed flashing OSD in "high level OSD" mode of the TT S2-6400 in case a menu is open
  while subtitles are being displayed.
- Fixed stuttering or asynchronous audio after changing the audio track. This is done
  by doing a "jump" to the current position, which clears all buffers. However, this
  only works with TS recordings. With PES recordings it causes a segfault - haven't
  been able to figure out why.
- Added a manual page for 'svdrpsend' (thanks to Tobias Grimm).
- Fixed immediately disappearing subtitle track menu in "high level OSD" mode of the
  TT S2-6400 when selecting "No subtitles".
- Updated the French OSD texts (thanks to Bernard Jaulin).
- Updated the Dutch OSD texts (thanks to Carel Willemse).
- Removed all "fuzzy" translations from the files ar.po, hu_HU.po and sr_SR.po, because
  more often than not they are just wrong.
- Now calling DeviceClear() in cTransfer::Receive() if the output device blocks, instead
  of not retrying for 10 seconds (reported by Andreas Mair, with help from Oliver Endriss).
- Updated the Spanish OSD texts (thanks to Luca Olivetti).
- Updated the Hungarian language texts (thanks to István Füley).
- Changed the calls to Skins.QueueMessage() in vdr.c that are related to reporting the
  status of the editing process back to Skins.Message() in order to have them appear
  immediately.
- When sorting recordings by name, folders are now always at the top of the list.
- Updated the Russian OSD texts (thanks to Oleg Roitburd).
2013-03-10 16:37:38 +01:00

101 lines
5.1 KiB
C++

/*
* hdffcmd.h: TODO(short description)
*
* See the README file for copyright information and how to reach the author.
*/
#ifndef _HDFF_CMD_H_
#define _HDFF_CMD_H_
#include "libhdffcmd/hdffcmd.h"
namespace HDFF
{
class cHdffCmdIf
{
private:
int mOsdDev;
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, HdffVideoStreamType_t StreamType, bool PlaybackMode = false);
void CmdAvSetAudioPid(uint8_t DecoderIndex, uint16_t AudioPid, HdffAudioStreamType_t StreamType, HdffAvContainerType_t ContainerType = HDFF_AV_CONTAINER_PES);
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, HdffVideoStreamType_t StreamType);
void CmdAvSetDecoderInput(uint8_t DecoderIndex, uint8_t DemultiplexerIndex);
void CmdAvSetDemultiplexerInput(uint8_t DemultiplexerIndex, uint8_t TsInputIndex);
void CmdAvSetVideoFormat(uint8_t DecoderIndex, const HdffVideoFormat_t * pVideoFormat);
void CmdAvSetVideoOutputMode(uint8_t DecoderIndex, HdffVideoOutputMode_t 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(HdffAudioDownmixMode_t DownmixMode);
void CmdAvSetAudioChannel(uint8_t AudioChannel);
void CmdAvSetSyncShift(int16_t SyncShift);
void CmdAvMuteAudio(uint8_t DecoderIndex, bool Mute);
void CmdOsdConfigure(const HdffOsdConfig_t * pConfig);
void CmdOsdReset(void);
uint32_t CmdOsdCreateDisplay(uint32_t Width, uint32_t Height, HdffColorType_t 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(HdffColorType_t ColorType, HdffColorFormat_t 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, HdffColorFormat_t 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 CmdOsdDrawSlope(uint32_t hDisplay, int X, int Y, int Width, int Height, uint32_t Color, uint32_t Type);
void CmdOsdDrawText(uint32_t hDisplay, uint32_t hFont, int X, int Y, const char * pText, uint32_t Color);
void CmdOsdDrawUtf8Text(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,
HdffColorType_t ColorType, uint32_t hPalette);
void CmdOsdSaveRegion(uint32_t hDisplay, int X, int Y, int Width, int Height);
void CmdOsdRestoreRegion(uint32_t hDisplay);
void CmdMuxSetVideoOut(HdffVideoOut_t VideoOut);
void CmdMuxSetVolume(uint8_t Volume);
void CmdMuxMuteAudio(bool Mute);
void CmdHdmiSetVideoMode(HdffVideoMode_t VideoMode);
void CmdHdmiConfigure(const HdffHdmiConfig_t * pConfig);
void CmdHdmiSendCecCommand(HdffCecCommand_t Command);
void CmdRemoteSetProtocol(HdffRemoteProtocol_t Protocol);
void CmdRemoteSetAddressFilter(bool Enable, uint32_t Address);
};
} // end of namespace
#endif