diff options
Diffstat (limited to 'setup.h')
-rw-r--r-- | setup.h | 57 |
1 files changed, 57 insertions, 0 deletions
@@ -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 |