diff options
Diffstat (limited to 'plugins/pluginDirectShow/internals/DSDisplayGraph.h')
-rwxr-xr-x | plugins/pluginDirectShow/internals/DSDisplayGraph.h | 120 |
1 files changed, 69 insertions, 51 deletions
diff --git a/plugins/pluginDirectShow/internals/DSDisplayGraph.h b/plugins/pluginDirectShow/internals/DSDisplayGraph.h index c9080fe..4260e45 100755 --- a/plugins/pluginDirectShow/internals/DSDisplayGraph.h +++ b/plugins/pluginDirectShow/internals/DSDisplayGraph.h @@ -2,19 +2,19 @@ * Copyright (C) 2010-2011 Mamadou Diop. * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO 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 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO 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 DOUBANGO. * @@ -39,72 +39,90 @@ class DSDisplayGraph { public: - DSDisplayGraph(HRESULT *hr); - virtual ~DSDisplayGraph(); - - int getDisplayFps() { return this->fps; }; - void setDisplayFps(int fps_); - - bool getImageFormat(UINT &width, UINT &height); - bool setImageFormat(UINT width, UINT height); - - HRESULT connect(); - HRESULT disconnect(); - - HRESULT start(); - HRESULT pause(); - HRESULT stop(); - bool isRunning(); - bool isPaused(); - - IMediaEventEx *getMediaEvent() { return this->mediaEvent; }; - IVideoWindow *getVideoWindow() { return this->videoWindow; }; - DSOutputFilter *getSourceFilter() { return this->sourceFilter; }; + DSDisplayGraph(HRESULT *hr); + virtual ~DSDisplayGraph(); + + int getDisplayFps() { + return this->fps; + }; + void setDisplayFps(int fps_); + + bool getImageFormat(UINT &width, UINT &height); + bool setImageFormat(UINT width, UINT height); + + HRESULT connect(); + HRESULT disconnect(); + + HRESULT start(); + HRESULT pause(); + HRESULT stop(); + bool isRunning(); + bool isPaused(); + + IMediaEventEx *getMediaEvent() { + return this->mediaEvent; + }; + IVideoWindow *getVideoWindow() { + return this->videoWindow; + }; + DSOutputFilter *getSourceFilter() { + return this->sourceFilter; + }; #if defined(VMR) - IVMRMixerBitmap *getMixerBitmap() { return this->mixerBitmap; }; + IVMRMixerBitmap *getMixerBitmap() { + return this->mixerBitmap; + }; #elif defined(VMR9) - IVMRMixerBitmap9 *getMixerBitmap() { return this->mixerBitmap; }; + IVMRMixerBitmap9 *getMixerBitmap() { + return this->mixerBitmap; + }; #elif defined(VMR9_WINDOWLESS) - IVMRMixerBitmap9 *getMixerBitmap() { return this->mixerBitmap; }; - IVMRMixerControl9 *getMixerControl() { return this->mixerControl; }; - IVMRWindowlessControl9 *getWindowlessControl() { return this->windowlessControl; }; + IVMRMixerBitmap9 *getMixerBitmap() { + return this->mixerBitmap; + }; + IVMRMixerControl9 *getMixerControl() { + return this->mixerControl; + }; + IVMRWindowlessControl9 *getWindowlessControl() { + return this->windowlessControl; + }; #endif - void handleFrame(const void* data, int w, int h); + void handleFrame(const void* data, int w, int h); private: - HRESULT createDisplayGraph(); + HRESULT createDisplayGraph(); private: - IGraphBuilder *graphBuilder; + IGraphBuilder *graphBuilder; - DSOutputFilter *sourceFilter; - IBaseFilter *colorspaceConverterFilter; - IBaseFilter *videoRendererFilter; + DSOutputFilter *sourceFilter; + IBaseFilter *colorspaceConverterFilter; + IBaseFilter *videoRendererFilter; - IMediaControl *mediaController; - IMediaEventEx *mediaEvent; - IVideoWindow *videoWindow; + IMediaControl *mediaController; + IMediaEventEx *mediaEvent; + IVideoWindow *videoWindow; #if defined(VMR) - IVMRMixerBitmap *mixerBitmap; - IVMRFilterConfig *filterConfig; + IVMRMixerBitmap *mixerBitmap; + IVMRFilterConfig *filterConfig; #elif defined(VMR9) - IVMRMixerBitmap9 *mixerBitmap; - IVMRMixerControl9 *mixerControl; - IVMRFilterConfig9 *filterConfig; + IVMRMixerBitmap9 *mixerBitmap; + IVMRMixerControl9 *mixerControl; + IVMRFilterConfig9 *filterConfig; #elif defined(VMR9_WINDOWLESS) - IVMRMixerBitmap9 *mixerBitmap; - IVMRMixerControl9 *mixerControl; - IVMRFilterConfig9 *filterConfig; - IVMRWindowlessControl9 *windowlessControl; + IVMRMixerBitmap9 *mixerBitmap; + IVMRMixerControl9 *mixerControl; + IVMRFilterConfig9 *filterConfig; + IVMRWindowlessControl9 *windowlessControl; #endif - bool connected; - bool running; - bool paused; - int fps; + bool connected; + bool running; + bool paused; + int fps; }; #endif |