mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Original announce message: VDR developer version 1.7.22 is now available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.22.tar.bz2 A 'diff' against the previous version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.21-1.7.22.diff MD5 checksums: b9c0fe1aac8e653c0d0234bc72c2bb2c vdr-1.7.22.tar.bz2 868bb332342c9a78beda17cc85e0bb93 vdr-1.7.21-1.7.22.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. From the HISTORY file: - Fixed scaling subtitles in case the primary device's GetVideoSize() function doesn't return actual values (thanks to Luca Olivetti). - The DiSEqC codes are now copied in the call to cDiseqc::Execute(). - VDR now supports "Satellite Channel Routing" (SCR) according to EN50494 (based on the "unicable" patch from Lars Hanisch). Since "Unicable" is a registered trademark and stands for only one of many implementations of SCR, the following changes have been made compared to the patch, which need to be taken into account by people who have set up their system using the patch: - The 'U' parameter in the diseqc.conf file has been changed to 'S' ("Scr"). - The configuration file name has been changed from "unicable.conf" to "scr.conf". - Updated sources.conf (thanks to Arthur Konovalov). - The SVDRP command LSTC now also accepts channel IDs (thanks to Dominic Evans). - Fixed handling DVB subtitles and implemented decoding textual DVB subtitles (thanks to Rolf Ahrenberg). - Added cap_net_raw to the capabilities that are not dropped (thanks to Dominic Evans). - Fixed setting the start time of an edited recording (thanks to Christoph Haubrich). - Temporarily switching free devices to transponders in order to have their running status updated is now done by marking the devices as "occupied" for a certain amount of time. - The new setup options "LNB/Device n connected to sat cable" can be used to define which DVB-S devices are connected to the same sat cable and are therefore "bonded". This obsoletes the LNBSHARE patch. Users of the LNBSHARE patch will need to newly set up their sat devices with the above options. - Fixed a crash when deleting a recording while cutting it (thanks to Ville Skyttä). - Fixed several spelling errors (thanks to Ville Skyttä). - The new SVDRP command UPDR can be used to trigger an update of the list of recordings (thanks to Lars Hanisch). - Added generating a pkg-config file to the Makefile (thanks to Ville Skyttä). - Removed the '.pl' suffix from all scripts (thanks to Ville Skyttä). - Changed the default location for the LIRC socket to /var/run/lirc/lircd (thanks to Ville Skyttä). - Added file name and line number to LOG_ERROR_STR() (thanks to Rolf Ahrenberg). - Replaced all calls to sleep() with cCondWait::SleepMs() (thanks to Rolf Ahrenberg). - Fixed a crash with malformed SI data (patch from vdr-portal).
152 lines
4.9 KiB
C
152 lines
4.9 KiB
C
/**********************************************************************
|
|
*
|
|
* HDFF firmware command interface library
|
|
*
|
|
* Copyright (C) 2011 Andreas Regel
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the
|
|
* Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
*********************************************************************/
|
|
|
|
#ifndef HDFFCMD_AV_H
|
|
#define HDFFCMD_AV_H
|
|
|
|
typedef enum HdffAvContainerType_t
|
|
{
|
|
HDFF_AV_CONTAINER_PES,
|
|
HDFF_AV_CONTAINER_PES_DVD
|
|
} HdffAvContainerType_t;
|
|
|
|
typedef enum HdffAudioStreamType_t
|
|
{
|
|
HDFF_AUDIO_STREAM_INVALID = -1,
|
|
HDFF_AUDIO_STREAM_MPEG1 = 0,
|
|
HDFF_AUDIO_STREAM_MPEG2,
|
|
HDFF_AUDIO_STREAM_AC3,
|
|
HDFF_AUDIO_STREAM_AAC,
|
|
HDFF_AUDIO_STREAM_HE_AAC,
|
|
HDFF_AUDIO_STREAM_PCM,
|
|
HDFF_AUDIO_STREAM_EAC3,
|
|
HDFF_AUDIO_STREAM_DTS
|
|
} HdffAudioStreamType_t;
|
|
|
|
typedef enum HdffVideoStreamType_t
|
|
{
|
|
HDFF_VIDEO_STREAM_INVALID = -1,
|
|
HDFF_VIDEO_STREAM_MPEG1 = 0,
|
|
HDFF_VIDEO_STREAM_MPEG2,
|
|
HDFF_VIDEO_STREAM_H264,
|
|
HDFF_VIDEO_STREAM_MPEG4_ASP,
|
|
HDFF_VIDEO_STREAM_VC1
|
|
} HdffVideoStreamType_t;
|
|
|
|
typedef enum HdffTvFormat_t
|
|
{
|
|
HDFF_TV_FORMAT_4_BY_3,
|
|
HDFF_TV_FORMAT_16_BY_9
|
|
} HdffTvFormat_t;
|
|
|
|
typedef enum HdffVideoConversion_t
|
|
{
|
|
HDFF_VIDEO_CONVERSION_AUTOMATIC,
|
|
HDFF_VIDEO_CONVERSION_LETTERBOX_16_BY_9,
|
|
HDFF_VIDEO_CONVERSION_LETTERBOX_14_BY_9,
|
|
HDFF_VIDEO_CONVERSION_PILLARBOX,
|
|
HDFF_VIDEO_CONVERSION_CENTRE_CUT_OUT,
|
|
HDFF_VIDEO_CONVERSION_ALWAYS_16_BY_9
|
|
} HdffVideoConversion_t;
|
|
|
|
typedef struct HdffVideoFormat_t
|
|
{
|
|
int AutomaticEnabled;
|
|
int AfdEnabled;
|
|
HdffTvFormat_t TvFormat;
|
|
HdffVideoConversion_t VideoConversion;
|
|
} HdffVideoFormat_t;
|
|
|
|
typedef enum HdffVideoOutputMode_t
|
|
{
|
|
HDFF_VIDEO_OUTPUT_CLONE,
|
|
HDFF_VIDEO_OUTPUT_HD_ONLY
|
|
} HdffVideoOutputMode_t;
|
|
|
|
typedef enum HdffAudioDownmixMode_t
|
|
{
|
|
HDFF_AUDIO_DOWNMIX_OFF,
|
|
HDFF_AUDIO_DOWNMIX_ANALOG,
|
|
HDFF_AUDIO_DOWNMIX_ALWAYS,
|
|
HDFF_AUDIO_DOWNMIX_AUTOMATIC,
|
|
HDFF_AUDIO_DOWNMIX_HDMI_ONLY
|
|
} HdffAudioDownmixMode_t;
|
|
|
|
|
|
int HdffCmdAvSetPlayMode(int OsdDevice, uint8_t PlayMode, int Realtime);
|
|
|
|
int HdffCmdAvSetVideoPid(int OsdDevice, uint8_t DecoderIndex, uint16_t Pid,
|
|
HdffVideoStreamType_t StreamType);
|
|
|
|
int HdffCmdAvSetAudioPid(int OsdDevice, uint8_t DecoderIndex, uint16_t Pid,
|
|
HdffAudioStreamType_t StreamType,
|
|
HdffAvContainerType_t ContainerType);
|
|
|
|
int HdffCmdAvSetPcrPid(int OsdDevice, uint8_t DecoderIndex, uint16_t Pid);
|
|
|
|
int HdffCmdAvSetTeletextPid(int OsdDevice, uint8_t DecoderIndex, uint16_t Pid);
|
|
|
|
int HdffCmdAvSetVideoWindow(int OsdDevice, uint8_t DecoderIndex, int Enable,
|
|
uint16_t X, uint16_t Y, uint16_t Width,
|
|
uint16_t Height);
|
|
|
|
int HdffCmdAvShowStillImage(int OsdDevice, uint8_t DecoderIndex,
|
|
const uint8_t * StillImage, int Size,
|
|
HdffVideoStreamType_t StreamType);
|
|
|
|
int HdffCmdAvSetDecoderInput(int OsdDevice, uint8_t DecoderIndex,
|
|
uint8_t DemultiplexerIndex);
|
|
|
|
int HdffCmdAvSetDemultiplexerInput(int OsdDevice, uint8_t DemultiplexerIndex,
|
|
uint8_t TsInputIndex);
|
|
|
|
int HdffCmdAvSetVideoFormat(int OsdDevice, uint8_t DecoderIndex,
|
|
const HdffVideoFormat_t * VideoFormat);
|
|
|
|
int HdffCmdAvSetVideoOutputMode(int OsdDevice, uint8_t DecoderIndex,
|
|
HdffVideoOutputMode_t OutputMode);
|
|
|
|
int HdffCmdAvSetStc(int OsdDevice, uint8_t DecoderIndex, uint64_t Stc);
|
|
|
|
int HdffCmdAvFlushBuffer(int OsdDevice, uint8_t DecoderIndex, int FlushAudio,
|
|
int FlushVideo);
|
|
|
|
int HdffCmdAvEnableSync(int OsdDevice, uint8_t DecoderIndex, int SyncAudio,
|
|
int SyncVideo);
|
|
|
|
int HdffCmdAvSetVideoSpeed(int OsdDevice, uint8_t DecoderIndex, int32_t Speed);
|
|
|
|
int HdffCmdAvSetAudioSpeed(int OsdDevice, uint8_t DecoderIndex, int32_t Speed);
|
|
|
|
int HdffCmdAvEnableVideoAfterStop(int OsdDevice, uint8_t DecoderIndex,
|
|
int EnableVideoAfterStop);
|
|
|
|
int HdffCmdAvSetAudioDelay(int OsdDevice, int16_t Delay);
|
|
|
|
int HdffCmdAvSetAudioDownmix(int OsdDevice,
|
|
HdffAudioDownmixMode_t DownmixMode);
|
|
|
|
int HdffCmdAvSetAudioChannel(int OsdDevice, uint8_t AudioChannel);
|
|
|
|
#endif /* HDFFCMD_AV_H */
|