]> git.sesse.net Git - vlc/blobdiff - modules/access/dshow/filter.h
DShow: update Copyright years
[vlc] / modules / access / dshow / filter.h
index 442154a03413829a91d6fe504eed96a8c0d7e803..4a6c3ab2c9389b3cb429195bbb1041e423142469 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * filter.h : DirectShow access module for vlc
  *****************************************************************************
- * Copyright (C) 2002 VideoLAN
+ * Copyright (C) 2002-2004, 2008 the VideoLAN team
  * $Id$
  *
  * Author: Gildas Bazin <gbazin@videolan.org>
@@ -18,7 +18,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /*****************************************************************************
@@ -34,11 +34,16 @@ using namespace std;
 #   include <unknwn.h>
 #   include <ole2.h>
 #   include <limits.h>
+#   ifdef _WINGDI_
+#      undef _WINGDI_
+#   endif
 #   define _WINGDI_ 1
 #   define AM_NOVTABLE
 #   define _OBJBASE_H_
 #   undef _X86_
-#   define _I64_MAX LONG_LONG_MAX
+#   ifndef _I64_MAX
+#     define _I64_MAX LONG_LONG_MAX
+#   endif
 #   define LONGLONG long long
 #endif
 
@@ -69,7 +74,8 @@ class CapturePin: public IPin, public IMemInputPin
 {
     friend class CaptureEnumMediaTypes;
 
-    access_t *p_input;
+    vlc_object_t *p_input;
+    access_sys_t *p_sys;
     CaptureFilter  *p_filter;
 
     IPin *p_connected_pin;
@@ -84,7 +90,8 @@ class CapturePin: public IPin, public IMemInputPin
     long i_ref;
 
   public:
-    CapturePin( access_t * _p_input, CaptureFilter *_p_filter,
+    CapturePin( vlc_object_t *_p_input, access_sys_t *p_sys,
+                CaptureFilter *_p_filter,
                 AM_MEDIA_TYPE *mt, size_t mt_count );
     virtual ~CapturePin();
 
@@ -124,6 +131,8 @@ class CapturePin: public IPin, public IMemInputPin
 
     /* Custom methods */
     HRESULT CustomGetSample( VLCMediaSample * );
+    HRESULT CustomGetSamples( deque<VLCMediaSample> &external_queue );
+
     AM_MEDIA_TYPE &CustomGetMediaType();
 };
 
@@ -134,7 +143,7 @@ class CaptureFilter : public IBaseFilter
 {
     friend class CapturePin;
 
-    access_t *p_input;
+    vlc_object_t   *p_input;
     CapturePin     *p_pin;
     IFilterGraph   *p_graph;
     //AM_MEDIA_TYPE  media_type;
@@ -143,7 +152,8 @@ class CaptureFilter : public IBaseFilter
     long i_ref;
 
   public:
-    CaptureFilter( access_t * _p_input, AM_MEDIA_TYPE *mt, size_t mt_count );
+    CaptureFilter( vlc_object_t *_p_input, access_sys_t *p_sys,
+                   AM_MEDIA_TYPE *mt, size_t mt_count );
     virtual ~CaptureFilter();
 
     /* IUnknown methods */
@@ -178,14 +188,14 @@ class CaptureFilter : public IBaseFilter
  ****************************************************************************/
 class CaptureEnumPins : public IEnumPins
 {
-    access_t * p_input;
+    vlc_object_t *p_input;
     CaptureFilter  *p_filter;
 
     int i_position;
     long i_ref;
 
 public:
-    CaptureEnumPins( access_t * _p_input, CaptureFilter *_p_filter,
+    CaptureEnumPins( vlc_object_t *_p_input, CaptureFilter *_p_filter,
                      CaptureEnumPins *pEnumPins );
     virtual ~CaptureEnumPins();
 
@@ -206,14 +216,15 @@ public:
  ****************************************************************************/
 class CaptureEnumMediaTypes : public IEnumMediaTypes
 {
-    access_t * p_input;
+    vlc_object_t *p_input;
     CapturePin     *p_pin;
+    AM_MEDIA_TYPE cx_media_type;
 
-    int i_position;
+    size_t i_position;
     long i_ref;
 
 public:
-    CaptureEnumMediaTypes( access_t * _p_input, CapturePin *_p_pin,
+    CaptureEnumMediaTypes( vlc_object_t *_p_input, CapturePin *_p_pin,
                            CaptureEnumMediaTypes *pEnumMediaTypes );
 
     virtual ~CaptureEnumMediaTypes();