diff options
| author | phintuka <phintuka> | 2012-03-18 19:00:22 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2012-03-18 19:00:22 +0000 |
| commit | 52b3c5757b607d7cfdc7a2098f1450cd9752aa56 (patch) | |
| tree | 3e966b73755562c4de52f658b26ef9eb01b3d68a | |
| parent | 87e90845cc56704de572b0135b917a55a6b48621 (diff) | |
| download | xineliboutput-52b3c5757b607d7cfdc7a2098f1450cd9752aa56.tar.gz xineliboutput-52b3c5757b607d7cfdc7a2098f1450cd9752aa56.tar.bz2 | |
Store device pointer in plugin
| -rw-r--r-- | xineliboutput.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/xineliboutput.c b/xineliboutput.c index aca27cf0..f1c4d633 100644 --- a/xineliboutput.c +++ b/xineliboutput.c @@ -21,7 +21,7 @@ * * xineliboutput.c: VDR Plugin interface * - * $Id: xineliboutput.c,v 1.50 2012-03-17 20:14:41 phintuka Exp $ + * $Id: xineliboutput.c,v 1.51 2012-03-18 19:00:22 phintuka Exp $ * */ @@ -51,6 +51,7 @@ class cPluginXinelibOutput : public cPlugin { private: // Add any member variables or functions you may need here. + cXinelibDevice *m_Dev; public: cPluginXinelibOutput(void); @@ -85,6 +86,8 @@ cPluginXinelibOutput::cPluginXinelibOutput(void) // Initialize any member variables here. // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! + + m_Dev = &(cXinelibDevice::Instance()); } cPluginXinelibOutput::~cPluginXinelibOutput() @@ -168,27 +171,33 @@ bool cPluginXinelibOutput::Initialize(void) // Initialize any background activities the plugin shall perform. TRACEF("cPluginXinelibOutput::Initialize"); - return cXinelibDevice::Instance().InitDevice(); + return m_Dev ? m_Dev->InitDevice() : false; } bool cPluginXinelibOutput::Start(void) { // Start any background activities the plugin shall perform. TRACEF("cPluginXinelibOutput::Start"); - return cXinelibDevice::Instance().StartDevice(); + return m_Dev ? m_Dev->StartDevice() : false; } void cPluginXinelibOutput::MainThreadHook(void) { TRACEF("cPluginXinelibOutput::MainThreadHook"); - return cXinelibDevice::Instance().MainThreadHook(); + + if (m_Dev) { + m_Dev->MainThreadHook(); + } } void cPluginXinelibOutput::Stop(void) { // Start any background activities the plugin shall perform. TRACEF("cPluginXinelibOutput::Stop"); - return cXinelibDevice::Instance().StopDevice(); + + if (m_Dev) { + m_Dev->StopDevice(); + } } cOsdObject *cPluginXinelibOutput::MainMenuAction(void) |
