diff options
author | Thomas Reufer <thomas@reufer.ch> | 2014-02-10 21:53:25 +0100 |
---|---|---|
committer | Thomas Reufer <thomas@reufer.ch> | 2014-02-10 21:53:25 +0100 |
commit | 0094472cda6eefa9b5363ad844daf0fcfd00c326 (patch) | |
tree | b577f931820ef3899da856f9ccd0de04f4c8ffa8 /tools.h | |
parent | 88f137d194b1768344e954a1b1d35fb1fce03df9 (diff) | |
download | vdr-plugin-rpihddevice-0.0.8.tar.gz vdr-plugin-rpihddevice-0.0.8.tar.bz2 |
2014-02-10: Version 0.0.80.0.8
-------------------------
- new:
- image grabbing
- implemented proper handling in case of buffer stall
- reporting video size
- support letter box and center cut out set by VDR
- support video scaling
- fixed:
- increased number of audio buffer to fix replay issues with PES recordings
- return correct number of audio bytes written from PlayAudio()
- fixed start up in audio only mode
- fixed still image with deinterlacer
- fixed crash during deinitialization
- fixed crash when copying 5.1 PCM audio
- use cThread::mutex for locking
- implement cOvgOsd::SetAreas() and cOvgOsd::SetActive()
- audio codec clean up, drop AAC-LATM and rename ADTS to AAC
- audio decoding thread clean up
- known issues
- StillImage() will cause buffer stall
- artifacts with StillImage() and PES recordings
- speed to fast when fast replaying audio only recordings
Diffstat (limited to 'tools.h')
-rw-r--r-- | tools.h | 90 |
1 files changed, 90 insertions, 0 deletions
@@ -0,0 +1,90 @@ +/* + * See the README file for copyright information and how to reach the author. + * + * $Id$ + */ + +#ifndef TOOLS_H +#define TOOLS_H + +#define ELOG(a...) esyslog("rpihddevice: " a) +#define ILOG(a...) isyslog("rpihddevice: " a) +#define DLOG(a...) dsyslog("rpihddevice: " a) + +#ifdef DEBUG +#define DBG(a...) dsyslog("rpihddevice: " a) +#else +#define DBG(a...) void() +#endif + +class cAudioCodec +{ +public: + + enum eCodec { + ePCM, + eMPG, + eAC3, + eEAC3, + eAAC, + eNumCodecs, + eInvalid + }; + + static const char* Str(eCodec codec) { + return (codec == ePCM) ? "PCM" : + (codec == eMPG) ? "MPEG" : + (codec == eAC3) ? "AC3" : + (codec == eEAC3) ? "E-AC3" : + (codec == eAAC) ? "AAC" : "unknown"; + } +}; + +class cVideoCodec +{ +public: + + enum eCodec { + eMPEG2, + eH264, + eNumCodecs, + eInvalid + }; + + static const char* Str(eCodec codec) { + return (codec == eMPEG2) ? "MPEG2" : + (codec == eH264) ? "H264" : "unknown"; + } +}; + +class cAudioPort +{ +public: + + enum ePort { + eLocal, + eHDMI + }; + + static const char* Str(ePort port) { + return (port == eLocal) ? "local" : + (port == eHDMI) ? "HDMI" : "unknown"; + } +}; + +class cVideoPort +{ +public: + + enum ePort { + eComposite, + eHDMI + }; + + static const char* Str(ePort port) { + return (port == eComposite) ? "composite" : + (port == eHDMI) ? "HDMI" : "unknown"; + } +}; + +#endif |