diff options
24 files changed, 386 insertions, 623 deletions
diff --git a/configure.ac b/configure.ac index 5834cbd8b..1f180beb3 100644 --- a/configure.ac +++ b/configure.ac @@ -1673,7 +1673,6 @@ gst/vmnc/Makefile gst/xdgmime/Makefile gst-libs/Makefile gst-libs/gst/Makefile -gst-libs/gst/dshow/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/signalprocessor/Makefile gst-libs/gst/video/Makefile diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am index b123a4c6f..e48cdd802 100644 --- a/gst-libs/gst/Makefile.am +++ b/gst-libs/gst/Makefile.am @@ -2,4 +2,4 @@ SUBDIRS = interfaces signalprocessor video noinst_HEADERS = gst-i18n-plugin.h gettext.h -DIST_SUBDIRS = dshow interfaces signalprocessor video +DIST_SUBDIRS = interfaces signalprocessor video diff --git a/gst-libs/gst/dshow/Makefile.am b/gst-libs/gst/dshow/Makefile.am deleted file mode 100644 index 04d84c31c..000000000 --- a/gst-libs/gst/dshow/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -lib_LTLIBRARIES = libgstdshow-@GST_MAJORMINOR@.la - -libgstdshow_@GST_MAJORMINOR@_la_SOURCES = gstdshow.cpp gstdshowfakesink.cpp gstdshowfakesrc.cpp gstdshowinterface.cpp -libgstdshow_@GST_MAJORMINOR@_la_CXXFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \ - $(GST_PLUGINS_BASE_CFLAGS) -DLIBDSHOW_EXPORTS -libgstdshow_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -libgstdshow_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_ALL_LDFLAGS) -libgstdshow_@GST_MAJORMINOR@_la_LIBTOOLFLAGS = --tag=disable-static - -libgstdshow_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/dshow -libgstdshow_@GST_MAJORMINOR@include_HEADERS = gstdshow.h gstdshowfakesink.h gstdshowfakesrc.h gstdshowinterface.h diff --git a/gst-libs/gst/dshow/gstdshowfakesrc.cpp b/gst-libs/gst/dshow/gstdshowfakesrc.cpp deleted file mode 100644 index 2c6bcc881..000000000 --- a/gst-libs/gst/dshow/gstdshowfakesrc.cpp +++ /dev/null @@ -1,205 +0,0 @@ -/* GStreamer - * Copyright (C) 2007 Sebastien Moutte <sebastien@moutte.net> - * - * gstdshowfakesrc.cpp: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "gstdshowfakesrc.h" - -static CCritSec g_pCriticSec; - -/* output pin*/ -CDshowFakeOutputPin::CDshowFakeOutputPin (CBaseFilter *pFilter, CCritSec *sec): - CBaseOutputPin("FakeOutputPin", pFilter, sec, &m_hres, L"output") -{ -} - -CDshowFakeOutputPin::~CDshowFakeOutputPin() -{ - -} - -HRESULT CDshowFakeOutputPin::GetMediaType(int iPosition, CMediaType *pMediaType) -{ - if(iPosition == 0) { - *pMediaType = m_MediaType; - return S_OK; - } - - return VFW_S_NO_MORE_ITEMS; -} - -HRESULT CDshowFakeOutputPin::CheckMediaType(const CMediaType *pmt) -{ - if (m_MediaType == *pmt) { - return S_OK; - } - - return S_FALSE; -} - -HRESULT CDshowFakeOutputPin::DecideBufferSize (IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest) -{ - ALLOCATOR_PROPERTIES properties; - ppropInputRequest->cbBuffer = m_SampleSize; - ppropInputRequest->cBuffers = 1; - HRESULT hres = pAlloc->SetProperties(ppropInputRequest, &properties); - pAlloc->Commit(); - - return S_OK; -} - -STDMETHODIMP CDshowFakeOutputPin::SetMediaType (AM_MEDIA_TYPE *pmt) -{ - m_MediaType.Set (*pmt); - m_SampleSize = m_MediaType.GetSampleSize(); - return S_OK; -} - -STDMETHODIMP CDshowFakeOutputPin::PushBuffer(byte *buffer, __int64 start, __int64 stop, unsigned int size, bool discount) -{ - IMediaSample *pSample = NULL; - - if (start != -1) { - start /= 100; - stop /= 100; - } - - HRESULT hres = GetDeliveryBuffer(&pSample, NULL, NULL, 0); - if (hres == S_OK && pSample) - { - BYTE *sample_buffer; - pSample->GetPointer(&sample_buffer); - if(sample_buffer) - { - memcpy (sample_buffer, buffer, size); - pSample->SetActualDataLength(size); - } - if (discount) - pSample->SetDiscontinuity(TRUE); - else - pSample->SetDiscontinuity(FALSE); - - pSample->SetSyncPoint(TRUE); - pSample->SetPreroll(FALSE); - - if (start != -1) - pSample->SetTime(&start, &stop); - - hres = Deliver(pSample); - pSample->Release(); - } - - return S_OK; -} - -STDMETHODIMP CDshowFakeOutputPin::Flush () -{ - DeliverBeginFlush(); - DeliverEndFlush(); - return S_OK; -} - -STDMETHODIMP CDshowFakeOutputPin::SetSampleSize (unsigned int size) -{ - m_SampleSize = size; - return S_OK; -} - -/* filter */ -CDshowFakeSrc::CDshowFakeSrc():CBaseFilter("DshowFakeSink", NULL, &g_pCriticSec, CLSID_DshowFakeSrc) -{ - m_pOutputPin = new CDshowFakeOutputPin((CSource *)this, m_pLock); -} - -CDshowFakeSrc::~CDshowFakeSrc() -{ - if (m_pOutputPin) - delete m_pOutputPin; -} - -//Object creation. -CUnknown* WINAPI CDshowFakeSrc::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) -{ - CDshowFakeSrc *pNewObject = new CDshowFakeSrc(); - if (pNewObject == NULL) { - *pHr = E_OUTOFMEMORY; - } - return pNewObject; -} - -int CDshowFakeSrc::GetPinCount() -{ - return 1; -} - -CBasePin *CDshowFakeSrc::GetPin(int n) -{ - return (CBasePin *)m_pOutputPin; -} - - -STDMETHODIMP CDshowFakeSrc::QueryInterface(REFIID riid, void **ppvObject) -{ - if (riid == IID_IGstDshowInterface) { - *ppvObject = (IGstDshowInterface*) this; - AddRef(); - return S_OK; - } - else - return CBaseFilter::QueryInterface (riid, ppvObject); -} - -ULONG STDMETHODCALLTYPE CDshowFakeSrc::AddRef() -{ - return CBaseFilter::AddRef(); -} - -ULONG STDMETHODCALLTYPE CDshowFakeSrc::Release() -{ - return CBaseFilter::Release(); -} - -STDMETHODIMP CDshowFakeSrc::gst_set_media_type (AM_MEDIA_TYPE *pmt) -{ - m_pOutputPin->SetMediaType(pmt); - return S_OK; -} - -STDMETHODIMP CDshowFakeSrc::gst_set_buffer_callback (push_buffer_func push, byte *data) -{ - return E_NOTIMPL; -} - -STDMETHODIMP CDshowFakeSrc::gst_push_buffer (byte *buffer, __int64 start, __int64 stop, unsigned int size, bool discount) -{ - m_pOutputPin->PushBuffer(buffer, start, stop, size, discount); - return S_OK; -} - -STDMETHODIMP CDshowFakeSrc::gst_flush () -{ - m_pOutputPin->Flush(); - return S_OK; -} - -STDMETHODIMP CDshowFakeSrc::gst_set_sample_size(unsigned int size) -{ - m_pOutputPin->SetSampleSize(size); - return S_OK; -}
\ No newline at end of file diff --git a/gst-libs/gst/dshow/gstdshowfakesrc.h b/gst-libs/gst/dshow/gstdshowfakesrc.h deleted file mode 100644 index 06884313a..000000000 --- a/gst-libs/gst/dshow/gstdshowfakesrc.h +++ /dev/null @@ -1,72 +0,0 @@ -/* GStreamer - * Copyright (C) 2007 Sebastien Moutte <sebastien@moutte.net> - * - * gstdshowfakesrc.h: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "gstdshowinterface.h" -#include <gst/gst.h> - -class CDshowFakeOutputPin : public CBaseOutputPin -{ -protected: -/* members */ - HRESULT m_hres; - CMediaType m_MediaType; - unsigned int m_SampleSize; - -public: -/* methods */ - CDshowFakeOutputPin (CBaseFilter *pFilter, CCritSec *sec); - ~CDshowFakeOutputPin (); - - virtual HRESULT CheckMediaType(const CMediaType *pmt); - HRESULT GetMediaType(int iPosition, CMediaType *pMediaType); - virtual HRESULT DecideBufferSize (IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest); - STDMETHOD (SetMediaType) (AM_MEDIA_TYPE *pmt); - STDMETHOD (PushBuffer) (byte *buffer, __int64 start, __int64 stop, unsigned int size, bool discount); - STDMETHOD (Flush) (); - STDMETHOD (SetSampleSize) (unsigned int size); -}; - -class CDshowFakeSrc : public CBaseFilter, - public IGstDshowInterface -{ -public: -/* members */ - CDshowFakeOutputPin *m_pOutputPin; - -/* methods */ - CDshowFakeSrc (); - virtual ~CDshowFakeSrc (); - - static CUnknown * WINAPI CreateInstance (LPUNKNOWN pUnk, HRESULT *pHr); - - virtual int GetPinCount(); - virtual CBasePin *GetPin(int n); - - STDMETHOD (QueryInterface)(REFIID riid, void **ppvObject); - ULONG STDMETHODCALLTYPE AddRef(); - ULONG STDMETHODCALLTYPE Release(); - - STDMETHOD (gst_set_media_type) (AM_MEDIA_TYPE *pmt); - STDMETHOD (gst_set_buffer_callback) (push_buffer_func push, byte *data); - STDMETHOD (gst_push_buffer) (byte *buffer, __int64 start, __int64 stop, unsigned int size, bool discount); - STDMETHOD (gst_flush) (); - STDMETHOD (gst_set_sample_size) (unsigned int size); -};
\ No newline at end of file diff --git a/gst-libs/gst/dshow/gstdshowinterface.cpp b/gst-libs/gst/dshow/gstdshowinterface.cpp deleted file mode 100644 index 3dba7c256..000000000 --- a/gst-libs/gst/dshow/gstdshowinterface.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* GStreamer - * Copyright (C) 2007 Sebastien Moutte <sebastien@moutte.net> - * - * gstdshowinterface.cpp: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "gstdshowinterface.h" - - -//{6A780808-9725-4d0b-8695-A4DD8D210773} -const GUID CLSID_DshowFakeSink - = { 0x6a780808, 0x9725, 0x4d0b, { 0x86, 0x95, 0xa4, 0xdd, 0x8d, 0x21, 0x7, 0x73 } }; - -// {1E38DAED-8A6E-4DEA-A482-A878761D11CB} -const GUID CLSID_DshowFakeSrc = -{ 0x1e38daed, 0x8a6e, 0x4dea, { 0xa4, 0x82, 0xa8, 0x78, 0x76, 0x1d, 0x11, 0xcb } }; - -// {FC36764C-6CD4-4C73-900F-3F40BF3F191A} -static const GUID IID_IGstDshowInterface = -{ 0xfc36764c, 0x6cd4, 0x4c73, { 0x90, 0xf, 0x3f, 0x40, 0xbf, 0x3f, 0x19, 0x1a } }; diff --git a/sys/dshowsrcwrapper/Makefile.am b/sys/dshowsrcwrapper/Makefile.am index 38895a1e7..3ec4d64ad 100644..100755 --- a/sys/dshowsrcwrapper/Makefile.am +++ b/sys/dshowsrcwrapper/Makefile.am @@ -1,10 +1,14 @@ -plugin_LTLIBRARIES = libgstdshowsrcwrapper.la +# This plugin isn't buildable with autotools at this point in time, so just +# ensure everything's listed in EXTRA_DIST -libgstdshowsrcwrapper_la_SOURCES = gstdshowaudiosrc.c gstdshowsrcwrapper.c gstdshowvideosrc.c - -libgstdshowsrcwrapper_la_CFLAGS = $(GST_CFLAGS) -libgstdshowsrcwrapper_la_LIBADD = $(GST_LIBS) -libgstdshowsrcwrapper_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstdshowsrcwrapper_la_LIBTOOLFLAGS = --tag=disable-static - -noinst_HEADERS = gstdshowaudiosrc.h gstdshowsrcwrapper.h gstdshowvideosrc.h +EXTRA_DIST = \ + gstdshowaudiosrc.c \ + gstdshowaudiosrc.h \ + gstdshow.cpp \ + gstdshowfakesink.cpp \ + gstdshowfakesink.h \ + gstdshow.h \ + gstdshowinterface.h \ + gstdshowsrcwrapper.cpp \ + gstdshowvideosrc.c \ + gstdshowvideosrc.h diff --git a/gst-libs/gst/dshow/gstdshow.cpp b/sys/dshowsrcwrapper/gstdshow.cpp index 4d419d162..ed27d631f 100644..100755 --- a/gst-libs/gst/dshow/gstdshow.cpp +++ b/sys/dshowsrcwrapper/gstdshow.cpp @@ -21,7 +21,6 @@ #include "gstdshow.h" #include "gstdshowfakesink.h" -#include "gstdshowfakesrc.h" CFactoryTemplate g_Templates[]= { @@ -31,15 +30,7 @@ CFactoryTemplate g_Templates[]= , CDshowFakeSink::CreateInstance , NULL , NULL - }, - { - L"DSHOW fake src filter" - , &CLSID_DshowFakeSrc - , CDshowFakeSrc::CreateInstance - , NULL - , NULL - }, - + } }; int g_cTemplates = sizeof(g_Templates)/sizeof(g_Templates[0]); @@ -64,9 +55,9 @@ STDAPI DllUnregisterServer() return AMovieDllRegisterServer2 (FALSE); } -BOOL gst_dshow_register_fakefilters () +HRESULT gst_dshow_register_fakefilters () { - return (DllRegisterServer() == S_OK) ? TRUE : FALSE; + return DllRegisterServer(); } void @@ -169,7 +160,7 @@ gboolean gst_dshow_find_filter(CLSID input_majortype, CLSID input_subtype, /* create a private copy of prefered filter substring in upper case */ if (prefered_filter_name) { prefered_filter_upper = g_strdup (prefered_filter_name); - strupr (prefered_filter_upper); + _strupr (prefered_filter_upper); } hres = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC, @@ -206,7 +197,7 @@ gboolean gst_dshow_find_filter(CLSID input_majortype, CLSID input_subtype, friendly_name = g_utf16_to_utf8((const gunichar2*)varFriendlyName.bstrVal, wcslen(varFriendlyName.bstrVal), NULL, NULL, NULL); if (friendly_name) - strupr (friendly_name); + _strupr (friendly_name); SysFreeString (varFriendlyName.bstrVal); } property_bag->Release (); @@ -254,7 +245,7 @@ clean: gchar * -gst_dshow_getdevice_from_devicename (GUID *device_category, gchar **device_name) +gst_dshow_getdevice_from_devicename (const GUID *device_category, gchar **device_name) { gchar *ret = NULL; ICreateDevEnum *devices_enum = NULL; diff --git a/gst-libs/gst/dshow/gstdshow.h b/sys/dshowsrcwrapper/gstdshow.h index 3d1520d5e..ec360b324 100644..100755 --- a/gst-libs/gst/dshow/gstdshow.h +++ b/sys/dshowsrcwrapper/gstdshow.h @@ -22,30 +22,28 @@ #ifndef _GSTDSHOW_ #define _GSTDSHOW_ +#ifdef __cplusplus +#include <streams.h> +#endif #include <windows.h> +#include <objbase.h> +#include <dshow.h> +#include <Rpc.h> #include <glib.h> -#ifdef LIBDSHOW_EXPORTS -#include <streams.h> -#include <atlbase.h> -#define DSHOW_API __declspec(dllexport) -#else -#define DSHOW_API __declspec(dllimport) -#endif - typedef struct _GstCapturePinMediaType { AM_MEDIA_TYPE *mediatype; IPin *capture_pin; } GstCapturePinMediaType; -#ifdef __cplusplus -extern "C" { +#ifdef __cplusplus
+extern "C" {
#endif /* register fake filters as COM object and as Direct Show filters in the registry */ -BOOL gst_dshow_register_fakefilters (); +HRESULT gst_dshow_register_fakefilters (); /* free memory of the input pin mediatype */ void gst_dshow_free_pin_mediatype (gpointer pt); @@ -66,14 +64,13 @@ gboolean gst_dshow_find_filter(CLSID input_majortype, CLSID input_subtype, /* get the dshow device path from device friendly name. If friendly name is not set, it will return the first available device */ -gchar *gst_dshow_getdevice_from_devicename (GUID *device_category, gchar **device_name); +gchar *gst_dshow_getdevice_from_devicename (const GUID *device_category, gchar **device_name); /* show the capture filter property page (generally used to setup the device). the page is modal*/ gboolean gst_dshow_show_propertypage (IBaseFilter *base_filter); - - -#ifdef __cplusplus -} +
+#ifdef __cplusplus
+}
#endif #endif /* _GSTDSHOW_ */
\ No newline at end of file diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.c b/sys/dshowsrcwrapper/gstdshowaudiosrc.c index d6edf47dd..dcc4e385b 100644..100755 --- a/sys/dshowsrcwrapper/gstdshowaudiosrc.c +++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.c @@ -19,12 +19,12 @@ * Boston, MA 02111-1307, USA. */ -#include "gstdshowaudiosrc.h" - #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include "gstdshowaudiosrc.h" + static const GstElementDetails gst_dshowaudiosrc_details = GST_ELEMENT_DETAILS ("Directshow audio capture source", "Source/Audio", @@ -451,7 +451,7 @@ gst_dshowaudiosrc_get_caps (GstBaseSrc * basesrc) &cbReturned); /* we only want capture pins */ - if (UuidCompare (&pin_category, &PIN_CATEGORY_CAPTURE, + if (UuidCompare (&pin_category, (UUID *) &PIN_CATEGORY_CAPTURE, &rpcstatus) == 0) { IAMStreamConfig *streamcaps = NULL; @@ -825,10 +825,10 @@ gst_dshowaudiosrc_getcaps_from_streamcaps (GstDshowAudioSrc * src, IPin * pin, if (!caps) caps = gst_caps_new_empty (); - if ((UuidCompare (&pin_mediatype->mediatype->subtype, &MEDIASUBTYPE_PCM, + if ((UuidCompare (&pin_mediatype->mediatype->subtype, (UUID *) &MEDIASUBTYPE_PCM, &rpcstatus) == 0 && rpcstatus == RPC_S_OK) && (UuidCompare (&pin_mediatype->mediatype->formattype, - &FORMAT_WaveFormatEx, &rpcstatus) == 0 + (UUID *) &FORMAT_WaveFormatEx, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { WAVEFORMATEX *wavformat = (WAVEFORMATEX *) pin_mediatype->mediatype->pbFormat; diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.h b/sys/dshowsrcwrapper/gstdshowaudiosrc.h index fb5710154..b81470116 100644..100755 --- a/sys/dshowsrcwrapper/gstdshowaudiosrc.h +++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.h @@ -27,7 +27,8 @@ #include <gst/audio/gstaudiosrc.h> #include <gst/interfaces/propertyprobe.h> -#include "gstdshowsrcwrapper.h" +#include "gstdshow.h" +#include "gstdshowinterface.h" G_BEGIN_DECLS #define GST_TYPE_DSHOWAUDIOSRC (gst_dshowaudiosrc_get_type()) diff --git a/gst-libs/gst/dshow/gstdshowfakesink.cpp b/sys/dshowsrcwrapper/gstdshowfakesink.cpp index e3a5f0b9f..afc0a5ef0 100644..100755 --- a/gst-libs/gst/dshow/gstdshowfakesink.cpp +++ b/sys/dshowsrcwrapper/gstdshowfakesink.cpp @@ -37,6 +37,7 @@ CDshowFakeSink::~CDshowFakeSink() CUnknown* WINAPI CDshowFakeSink::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) { CDshowFakeSink *pNewObject = new CDshowFakeSink(); + g_print ("CDshowFakeSink::CreateInstance\n"); if (pNewObject == NULL) { *pHr = E_OUTOFMEMORY; } diff --git a/gst-libs/gst/dshow/gstdshowfakesink.h b/sys/dshowsrcwrapper/gstdshowfakesink.h index 7f419b278..7f419b278 100644..100755 --- a/gst-libs/gst/dshow/gstdshowfakesink.h +++ b/sys/dshowsrcwrapper/gstdshowfakesink.h diff --git a/gst-libs/gst/dshow/gstdshowinterface.h b/sys/dshowsrcwrapper/gstdshowinterface.h index 1a19a611d..68328b959 100644..100755 --- a/gst-libs/gst/dshow/gstdshowinterface.h +++ b/sys/dshowsrcwrapper/gstdshowinterface.h @@ -24,9 +24,9 @@ #include "gstdshow.h" -#ifdef LIBDSHOW_EXPORTS +#ifdef __cplusplus typedef bool (*push_buffer_func) (byte *buffer, long size, byte *src_object, UINT64 start, UINT64 stop); -#endif /* LIBDSHOW_EXPORTS */ +#endif /* verify that the <rpcndr.h> version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ @@ -45,17 +45,15 @@ typedef bool (*push_buffer_func) (byte *buffer, long size, byte *src_object, UIN #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ -#ifdef __cplusplus -extern "C"{ -#endif - +//{6A780808-9725-4d0b-8695-A4DD8D210773} +static const GUID CLSID_DshowFakeSink + = { 0x6a780808, 0x9725, 0x4d0b, { 0x86, 0x95, 0xa4, 0xdd, 0x8d, 0x21, 0x7, 0x73 } }; -extern DSHOW_API const GUID CLSID_DshowFakeSink; -extern DSHOW_API const GUID CLSID_DshowFakeSrc; -extern DSHOW_API const GUID IID_IGstDshowInterface; +// {FC36764C-6CD4-4C73-900F-3F40BF3F191A} +static const GUID IID_IGstDshowInterface = + { 0xfc36764c, 0x6cd4, 0x4c73, { 0x90, 0xf, 0x3f, 0x40, 0xbf, 0x3f, 0x19, 0x1a } }; #define CLSID_DSHOWFAKESINK_STRING "{6A780808-9725-4d0b-8695-A4DD8D210773}" -#define CLSID_DSHOWFAKESRC_STRING "{1E38DAED-8A6E-4DEA-A482-A878761D11CB}" typedef interface IGstDshowInterface IGstDshowInterface; @@ -162,8 +160,4 @@ void __RPC_USER MIDL_user_free( void __RPC_FAR * ); #endif /* __IGstDshowInterface_INTERFACE_DEFINED__ */ -#ifdef __cplusplus -} -#endif - #endif /* __GST_DSHOW_INTERFACE_H__ */
\ No newline at end of file diff --git a/sys/dshowsrcwrapper/gstdshowsrcwrapper.c b/sys/dshowsrcwrapper/gstdshowsrcwrapper.cpp index 803fd8079..1e9a8aa2c 100644..100755 --- a/sys/dshowsrcwrapper/gstdshowsrcwrapper.c +++ b/sys/dshowsrcwrapper/gstdshowsrcwrapper.cpp @@ -35,12 +35,15 @@ const GUID IID_IGstSrcInterface = { 0x542c0a24, 0x8bd1, 0x46cb, {0xaa, 0x57, 0x3e, 0x46, 0xd0, 0x6, 0xd2, 0xf3} }; - static gboolean plugin_init (GstPlugin * plugin) { /* register fake filters */ - gst_dshow_register_fakefilters (); + HRESULT hr = gst_dshow_register_fakefilters (); + if (FAILED (hr)) { + g_warning ("failed to register directshow fakesink filter: 0x%x\n", hr); + return FALSE; + } if (!gst_element_register (plugin, "dshowaudiosrc", GST_RANK_NONE, @@ -52,8 +55,12 @@ plugin_init (GstPlugin * plugin) return TRUE; } +extern "C" { + GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, "dshowsrcwrapper", "DirectShow sources wrapper plugin", plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) + +} diff --git a/sys/dshowsrcwrapper/gstdshowsrcwrapper.h b/sys/dshowsrcwrapper/gstdshowsrcwrapper.h deleted file mode 100644 index d94d49f77..000000000 --- a/sys/dshowsrcwrapper/gstdshowsrcwrapper.h +++ /dev/null @@ -1,34 +0,0 @@ -/* GStreamer - * Copyright (C) 2007 Sebastien Moutte <sebastien@moutte.net> - * - * gstdshowsrcwrapper.h: - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GST_DSHOW_H__ -#define __GST_DSHOW_H__ - -#include <windows.h> -#include <objbase.h> -#include <dshow.h> -#include <Rpc.h> - -#include <gst/dshow/gstdshowinterface.h> - -#pragma warning( disable : 4090 4024) - -#endif /* __GST_DSHOW_H__ */ diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.c b/sys/dshowsrcwrapper/gstdshowvideosrc.c index 4a37778c5..a54751b7f 100644..100755 --- a/sys/dshowsrcwrapper/gstdshowvideosrc.c +++ b/sys/dshowsrcwrapper/gstdshowvideosrc.c @@ -19,12 +19,12 @@ * Boston, MA 02111-1307, USA. */ -#include "gstdshowvideosrc.h" - #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include "gstdshowvideosrc.h" + static const GstElementDetails gst_dshowvideosrc_details = GST_ELEMENT_DETAILS ("DirectShow video capture source", "Source/Video", @@ -520,7 +520,7 @@ gst_dshowvideosrc_get_caps (GstBaseSrc * basesrc) &cbReturned); /* we only want capture pins */ - if (UuidCompare (&pin_category, &PIN_CATEGORY_CAPTURE, + if (UuidCompare (&pin_category, (UUID *) &PIN_CATEGORY_CAPTURE, &rpcstatus) == 0) { IAMStreamConfig *streamcaps = NULL; @@ -625,7 +625,7 @@ gst_dshowvideosrc_start (GstBaseSrc * bsrc) &IID_IBaseFilter, (LPVOID *) & src->dshow_fakesink); if (hres != S_OK || !src->dshow_fakesink) { GST_CAT_ERROR (dshowvideosrc_debug, - "Can't create an instance of our dshow fakesink filter (error=%d)", + "Can't create an instance of our dshow fakesink filter (error=0x%x)", hres); goto error; } @@ -898,10 +898,10 @@ gst_dshowvideosrc_getcaps_from_streamcaps (GstDshowVideoSrc * src, IPin * pin, caps = gst_caps_new_empty (); /* I420 */ - if ((UuidCompare (&pin_mediatype->mediatype->subtype, &MEDIASUBTYPE_I420, + if ((UuidCompare (&pin_mediatype->mediatype->subtype, (UUID *) &MEDIASUBTYPE_I420, &rpcstatus) == 0 && rpcstatus == RPC_S_OK) && (UuidCompare (&pin_mediatype->mediatype->formattype, - &FORMAT_VideoInfo, &rpcstatus) == 0 + (UUID *) &FORMAT_VideoInfo, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { video_info = (VIDEOINFOHEADER *) pin_mediatype->mediatype->pbFormat; @@ -923,10 +923,10 @@ gst_dshowvideosrc_getcaps_from_streamcaps (GstDshowVideoSrc * src, IPin * pin, } /* RGB24 */ - if ((UuidCompare (&pin_mediatype->mediatype->subtype, &MEDIASUBTYPE_RGB24, + if ((UuidCompare (&pin_mediatype->mediatype->subtype, (UUID *) &MEDIASUBTYPE_RGB24, &rpcstatus) == 0 && rpcstatus == RPC_S_OK) && (UuidCompare (&pin_mediatype->mediatype->formattype, - &FORMAT_VideoInfo, &rpcstatus) == 0 + (UUID *) &FORMAT_VideoInfo, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { video_info = (VIDEOINFOHEADER *) pin_mediatype->mediatype->pbFormat; @@ -952,10 +952,10 @@ gst_dshowvideosrc_getcaps_from_streamcaps (GstDshowVideoSrc * src, IPin * pin, } /* DVSD */ - if ((UuidCompare (&pin_mediatype->mediatype->subtype, &MEDIASUBTYPE_dvsd, + if ((UuidCompare (&pin_mediatype->mediatype->subtype, (UUID *) &MEDIASUBTYPE_dvsd, &rpcstatus) == 0 && rpcstatus == RPC_S_OK) && (UuidCompare (&pin_mediatype->mediatype->formattype, - &FORMAT_VideoInfo, &rpcstatus) == 0 + (UUID *) &FORMAT_VideoInfo, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { video_info = (VIDEOINFOHEADER *) pin_mediatype->mediatype->pbFormat; @@ -978,10 +978,10 @@ gst_dshowvideosrc_getcaps_from_streamcaps (GstDshowVideoSrc * src, IPin * pin, } /* DV stream */ - if ((UuidCompare (&pin_mediatype->mediatype->subtype, &MEDIASUBTYPE_dvsd, + if ((UuidCompare (&pin_mediatype->mediatype->subtype, (UUID *) &MEDIASUBTYPE_dvsd, &rpcstatus) == 0 && rpcstatus == RPC_S_OK) && (UuidCompare (&pin_mediatype->mediatype->formattype, - &FORMAT_DvInfo, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { + (UUID *) &FORMAT_DvInfo, &rpcstatus) == 0 && rpcstatus == RPC_S_OK)) { mediacaps = gst_caps_new_simple ("video/x-dv", "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.h b/sys/dshowsrcwrapper/gstdshowvideosrc.h index 8bc52fa90..b7bfbb19f 100644..100755 --- a/sys/dshowsrcwrapper/gstdshowvideosrc.h +++ b/sys/dshowsrcwrapper/gstdshowvideosrc.h @@ -22,11 +22,13 @@ #ifndef __GST_DSHOWVIDEOSRC_H__ #define __GST_DSHOWVIDEOSRC_H__ +#include <glib.h> #include <gst/gst.h> #include <gst/base/gstpushsrc.h> #include <gst/interfaces/propertyprobe.h> -#include "gstdshowsrcwrapper.h" +#include "gstdshow.h" +#include "gstdshowinterface.h" // 30323449-0000-0010-8000-00AA00389B71 MEDIASUBTYPE_I420 DEFINE_GUID(MEDIASUBTYPE_I420, 0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); diff --git a/sys/dshowsrcwrapper/libgstdshow.def b/sys/dshowsrcwrapper/libgstdshow.def new file mode 100755 index 000000000..ee8586c99 --- /dev/null +++ b/sys/dshowsrcwrapper/libgstdshow.def @@ -0,0 +1,8 @@ +EXPORTS + DllMain PRIVATE + DllGetClassObject PRIVATE + DllCanUnloadNow PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE + + diff --git a/win32/common/libgstdshow.def b/win32/common/libgstdshow.def deleted file mode 100644 index d5e6d57ac..000000000 --- a/win32/common/libgstdshow.def +++ /dev/null @@ -1,15 +0,0 @@ -EXPORTS - DllMain PRIVATE - DllGetClassObject PRIVATE - DllCanUnloadNow PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE - - gst_dshow_find_filter - gst_dshow_free_mediatype - gst_dshow_free_pin_mediatype - gst_dshow_free_pins_mediatypes - gst_dshow_get_pin_from_filter - gst_dshow_getdevice_from_devicename - gst_dshow_register_fakefilters - diff --git a/win32/vs6/gst_plugins_bad.dsw b/win32/vs6/gst_plugins_bad.dsw index ba3fd2f89..388fd8228 100644..100755 --- a/win32/vs6/gst_plugins_bad.dsw +++ b/win32/vs6/gst_plugins_bad.dsw @@ -39,18 +39,6 @@ Package=<4> ###############################################################################
-Project: "libgstdshowsrcwrapper"=".\libdshowsrcwrapper.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
Project: "libgstflv"=".\libgstflv.dsp" - Package Owner=<4>
Package=<5>
diff --git a/win32/vs6/libdshowsrcwrapper.dsp b/win32/vs6/libdshowsrcwrapper.dsp deleted file mode 100644 index 6486f95f7..000000000 --- a/win32/vs6/libdshowsrcwrapper.dsp +++ /dev/null @@ -1,137 +0,0 @@ -# Microsoft Developer Studio Project File - Name="libgstdshowsrcwrapper" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libgstdshowsrcwrapper - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libdshowsrcwrapper.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libdshowsrcwrapper.mak" CFG="libgstdshowsrcwrapper - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libgstdshowsrcwrapper - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libgstdshowsrcwrapper - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libgstdshowsrcwrapper - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTDSHOWSRCWRAPPER_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../gst-libs" /I "../../../gst-plugins-base/gst-libs" /I "../../../gstreamer/libs" /I "../common" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DSHOWSRCWRAPPER_EXPORTS" /D "HAVE_CONFIG_H" /D "COBJMACROS" /D "_WIN32_DCOM" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 libgstdshow-0.10.lib libgstreamer-0.10.lib libgstbase-0.10.lib libgstaudio-0.10.lib libgstinterfaces-0.10.lib glib-2.0.lib gobject-2.0.lib ole32.lib oleaut32.lib Rpcrt4.lib Strmiids.lib user32.lib /nologo /dll /machine:I386 /out:"Release/libgstdshowsrcwrapper.dll" /libpath:"../../../dshowfakefilters/release" /libpath:"../gstreamer/win32/vs6/release" /libpath:"../gst-plugins-base/win32/vs6/release" /libpath:"./release"
-# Begin Special Build Tool
-TargetPath=.\Release\libgstdshowsrcwrapper.dll
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy /Y $(TargetPath) c:\gstreamer\lib\gstreamer-0.10
-# End Special Build Tool
-
-!ELSEIF "$(CFG)" == "libgstdshowsrcwrapper - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBGSTDSHOWSRCWRAPPER_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../gst-libs" /I "../../../gst-plugins-base/gst-libs" /I "../../../gstreamer/libs" /I "../common" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DSHOWSRCWRAPPER_EXPORTS" /D "HAVE_CONFIG_H" /D "COBJMACROS" /D "_WIN32_DCOM" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 libgstdshow-0.10.lib libgstreamer-0.10.lib libgstbase-0.10.lib libgstaudio-0.10.lib libgstinterfaces-0.10.lib glib-2.0D.lib gobject-2.0D.lib ole32.lib oleaut32.lib Rpcrt4.lib user32.lib strmiids.lib /nologo /dll /debug /machine:I386 /out:"Debug/libgstdshowsrcwrapper.dll" /pdbtype:sept /libpath:"../gstreamer/win32/vs6/debug" /libpath:"../gst-plugins-base/win32/vs6/debug" /libpath:"./debug"
-# Begin Special Build Tool
-TargetPath=.\Debug\libgstdshowsrcwrapper.dll
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy /Y $(TargetPath) c:\gstreamer\debug\lib\gstreamer-0.10
-# End Special Build Tool
-
-!ENDIF
-
-# Begin Target
-
-# Name "libgstdshowsrcwrapper - Win32 Release"
-# Name "libgstdshowsrcwrapper - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowaudiosrc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowsrcwrapper.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowvideosrc.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowaudiosrc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowsrcwrapper.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\sys\dshowsrcwrapper\gstdshowvideosrc.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/win32/vs8/gst-plugins-bad.sln b/win32/vs8/gst-plugins-bad.sln index 13386d279..109210c90 100644..100755 --- a/win32/vs8/gst-plugins-bad.sln +++ b/win32/vs8/gst-plugins-bad.sln @@ -1,25 +1,25 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgstdirectsound", "libgstdirectsound.vcproj", "{566A2EB9-984C-4027-86DD-EDC7B390C679}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgstdirectdraw", "libgstdirectdraw.vcproj", "{1594A623-5529-4B86-BD4A-694CF0BDB5C4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {566A2EB9-984C-4027-86DD-EDC7B390C679}.Debug|Win32.ActiveCfg = Debug|Win32 - {566A2EB9-984C-4027-86DD-EDC7B390C679}.Debug|Win32.Build.0 = Debug|Win32 - {566A2EB9-984C-4027-86DD-EDC7B390C679}.Release|Win32.ActiveCfg = Release|Win32 - {566A2EB9-984C-4027-86DD-EDC7B390C679}.Release|Win32.Build.0 = Release|Win32 - {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Debug|Win32.ActiveCfg = Debug|Win32 - {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Debug|Win32.Build.0 = Debug|Win32 - {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Release|Win32.ActiveCfg = Release|Win32 - {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgstdirectdraw", "libgstdirectdraw.vcproj", "{1594A623-5529-4B86-BD4A-694CF0BDB5C4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgstdshowsrcwrapper", "libdshowsrcwrapper.vcproj", "{42EC1484-5031-4962-9E45-C990BB77EB37}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Debug|Win32.Build.0 = Debug|Win32
+ {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Release|Win32.ActiveCfg = Release|Win32
+ {1594A623-5529-4B86-BD4A-694CF0BDB5C4}.Release|Win32.Build.0 = Release|Win32
+ {42EC1484-5031-4962-9E45-C990BB77EB37}.Debug|Win32.ActiveCfg = Debug|Win32
+ {42EC1484-5031-4962-9E45-C990BB77EB37}.Debug|Win32.Build.0 = Debug|Win32
+ {42EC1484-5031-4962-9E45-C990BB77EB37}.Release|Win32.ActiveCfg = Release|Win32
+ {42EC1484-5031-4962-9E45-C990BB77EB37}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/win32/vs8/libdshowsrcwrapper.vcproj b/win32/vs8/libdshowsrcwrapper.vcproj new file mode 100755 index 000000000..826c43372 --- /dev/null +++ b/win32/vs8/libdshowsrcwrapper.vcproj @@ -0,0 +1,280 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8,00"
+ Name="libgstdshowsrcwrapper"
+ ProjectGUID="{42EC1484-5031-4962-9E45-C990BB77EB37}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/libdshowsrcwrapper.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="C:\msys\1.0\local\include;C:\msys\1.0\local\include\libxml2;"C:\msys\1.0\local\include\glib-2.0";"C:\msys\1.0\local\lib\glib-2.0\include";"C:\msys\1.0\local\include\gstreamer-0.10";..\common;"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;DSHOWSRCWRAPPER_EXPORTS;HAVE_CONFIG_H;COBJMACROS;_WIN32_DCOM;_CRT_SECURE_NO_DEPRECATE"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ PrecompiledHeaderFile=".\Release/libdshowsrcwrapper.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1036"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libgstreamer-0.10.lib libgstbase-0.10.lib libgstinterfaces-0.10.lib libgstaudio-0.10.lib glib-2.0.lib gmodule-2.0.lib gobject-2.0.lib gthread-2.0.lib quartz.lib winmm.lib msacm32.lib olepro32.lib Rpcrt4.lib Strmiids.lib strmbase.lib"
+ OutputFile="Release/libgstdshowsrcwrapper.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="C:\msys\1.0\local\lib;"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib";"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses\XP32_RETAIL""
+ ModuleDefinitionFile="..\..\sys\libgstdshow.def"
+ ProgramDatabaseFile=".\Release/libgstdshowsrcwrapper.pdb"
+ ImportLibrary=".\Release/libgstdshowsrcwrapper.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\Release/libdshowsrcwrapper.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y Release\libgstdshowsrcwrapper.dll c:\msys\1.0\local\lib\gstreamer-0.10"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="0"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/libdshowsrcwrapper.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="C:\msys\1.0\local\include;C:\msys\1.0\local\include\libxml2;"C:\msys\1.0\local\include\glib-2.0";"C:\msys\1.0\local\lib\glib-2.0\include";"C:\msys\1.0\local\include\gstreamer-0.10";..\common;"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses""
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;DSHOWSRCWRAPPER_EXPORTS;HAVE_CONFIG_H;COBJMACROS;_WIN32_DCOM;_CRT_SECURE_NO_DEPRECATE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ EnableEnhancedInstructionSet="2"
+ PrecompiledHeaderFile=".\Debug/libdshowsrcwrapper.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1036"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libgstreamer-0.10.lib libgstbase-0.10.lib libgstinterfaces-0.10.lib libgstaudio-0.10.lib glib-2.0.lib gmodule-2.0.lib gobject-2.0.lib gthread-2.0.lib strmbasd.lib quartz.lib winmm.lib msacm32.lib olepro32.lib Rpcrt4.lib Strmiids.lib"
+ OutputFile="Debug/libgstdshowsrcwrapper.dll"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="C:\msys\1.0\local\lib;"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib";"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses\XP32_DEBUG""
+ ModuleDefinitionFile="..\..\sys\libgstdshow.def"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/libgstdshowsrcwrapper.pdb"
+ ImportLibrary=".\Debug/libgstdshowsrcwrapper.lib"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\Debug/libdshowsrcwrapper.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="copy /Y Debug\libgstdshowsrcwrapper.dll c:\msys\1.0\local\lib\gstreamer-0.10"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowaudiosrc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowfakesink.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowsrcwrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowvideosrc.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\libgstdshow.def"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowaudiosrc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowfakesink.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowinterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sys\dshowsrcwrapper\gstdshowvideosrc.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
|