diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-03-10 03:18:42 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-03-10 03:18:42 +0200 |
commit | 0269d22d32fb380e7128ca0c60f6f1638c6dab70 (patch) | |
tree | 53ba64153d9ef930f73458138478a6d0def381ce /loader/dshow/DS_Filter.c | |
parent | 240550bbb94653907faa6e0bb1c5ac3d279cc252 (diff) | |
parent | 97ef28ad9aa2f34aea0779062976ad4294c0af51 (diff) | |
download | mpv-0269d22d32fb380e7128ca0c60f6f1638c6dab70.tar.bz2 mpv-0269d22d32fb380e7128ca0c60f6f1638c6dab70.tar.xz |
Merge svn changes up to r30876
Diffstat (limited to 'loader/dshow/DS_Filter.c')
-rw-r--r-- | loader/dshow/DS_Filter.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/loader/dshow/DS_Filter.c b/loader/dshow/DS_Filter.c index e3102cf264..693d59c25f 100644 --- a/loader/dshow/DS_Filter.c +++ b/loader/dshow/DS_Filter.c @@ -5,6 +5,7 @@ #include "config.h" #include "DS_Filter.h" +#include "graph.h" #include "loader/drv.h" #include "loader/com.h" #include <stdio.h> @@ -125,6 +126,7 @@ DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id, // char eb[250]; const char* em = NULL; MemAllocator* tempAll; + FilterGraph* graph; ALLOCATOR_PROPERTIES props,props1; DS_Filter* This = malloc(sizeof(DS_Filter)); if (!This) @@ -166,6 +168,7 @@ DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id, ULONG fetched; HRESULT result; unsigned int i; + static const uint16_t filter_name[] = { 'F', 'i', 'l', 't', 'e', 'r', 0 }; This->m_iHandle = LoadLibraryA(dllname); if (!This->m_iHandle) @@ -199,6 +202,10 @@ DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id, em = "object does not provide IBaseFilter interface"; break; } + + graph = FilterGraphCreate(); + result = This->m_pFilter->vt->JoinFilterGraph(This->m_pFilter, (IFilterGraph*)graph, filter_name); + // enumerate pins result = This->m_pFilter->vt->EnumPins(This->m_pFilter, &enum_pins); if (result || !enum_pins) |