summaryrefslogtreecommitdiff
path: root/setup.h
diff options
context:
space:
mode:
authorThomas Reufer <thomas@reufer.ch>2014-01-07 16:31:12 +0100
committerThomas Reufer <thomas@reufer.ch>2014-01-07 16:31:12 +0100
commit9512123c95324f1679d748993662bd9f08f6f763 (patch)
treed532e2af4d30847eeaaf69faf427c6f77fc5afb8 /setup.h
parent66cb725c2146b4fdeeed1dd201dd58be42104bab (diff)
downloadvdr-plugin-rpihddevice-0.0.4.tar.gz
vdr-plugin-rpihddevice-0.0.4.tar.bz2
2013-10-14: Version 0.0.40.0.4
------------------------- - new: - changed to libav for audio decoding - added support multi-channel audio codecs - added audio format/output options - fixed: - removed drawing of black box in front of console which lead to malfunction due to memory bandwidth problem. console blank out will be handled with video format/output options in future versions. - missing - trick modes - deinterlacer - video format/output options - much more...
Diffstat (limited to 'setup.h')
-rw-r--r--setup.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/setup.h b/setup.h
new file mode 100644
index 0000000..39735eb
--- /dev/null
+++ b/setup.h
@@ -0,0 +1,57 @@
+/*
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#ifndef SETUP_H
+#define SETUP_H
+
+#include "audio.h"
+#include "omxdevice.h"
+
+class cMenuSetupPage;
+
+class cRpiSetup
+{
+
+public:
+
+ static bool HwInit(void);
+
+ static cAudioDecoder::ePort GetAudioPort(void) {
+ return (GetInstance()->m_audioPort) ? cAudioDecoder::eHDMI : cAudioDecoder::eLocal; }
+ static bool IsAudioPassthrough(void) { return GetInstance()->m_passthrough; }
+ static bool HasAudioSetupChanged(void);
+
+ static bool IsAudioFormatSupported(cAudioDecoder::eCodec codec, int channels, int samplingRate);
+
+ static bool IsVideoCodecSupported(cOmxDevice::eVideoCodec codec) {
+ return codec == cOmxDevice::eMPEG2 ? GetInstance()->m_mpeg2Enabled :
+ codec == cOmxDevice::eH264 ? true : false;
+ }
+
+ static int GetDisplaySize(int &width, int &height, double &aspect);
+
+ static cRpiSetup* GetInstance(void);
+ static void DropInstance(void);
+
+ cMenuSetupPage* GetSetupPage(void);
+ bool Parse(const char *name, const char *value);
+
+private:
+
+ cRpiSetup() : m_audioSetupChanged(false), m_mpeg2Enabled(false) { }
+ virtual ~cRpiSetup() { }
+
+ static cRpiSetup* s_instance;
+
+ int m_audioPort;
+ int m_passthrough;
+
+ bool m_audioSetupChanged;
+
+ bool m_mpeg2Enabled;
+};
+
+#endif