ReactOS 0.4.15-dev-8138-g1e75ea8
qedit_private.h File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wtypes.h"
#include "wingdi.h"
#include "winuser.h"
#include "dshow.h"
#include "qedit.h"
Include dependency graph for qedit_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

HRESULT AMTimeline_create (IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
 
HRESULT MediaDet_create (IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
 
HRESULT SampleGrabber_create (IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 25 of file qedit_private.h.

Function Documentation

◆ AMTimeline_create()

HRESULT AMTimeline_create ( IUnknown pUnkOuter,
LPVOID ppObj 
)

Definition at line 424 of file timeline.c.

425{
427
428 TRACE("(%p,%p)\n", pUnkOuter, ppv);
429
431 if (NULL == obj) {
432 *ppv = NULL;
433 return E_OUTOFMEMORY;
434 }
435 ZeroMemory(obj, sizeof(TimelineImpl));
436
437 obj->ref = 1;
438 obj->IUnknown_inner.lpVtbl = &timeline_vtbl;
439 obj->IAMTimeline_iface.lpVtbl = &IAMTimeline_VTable;
440
441 if (pUnkOuter)
442 obj->outer_unk = pUnkOuter;
443 else
444 obj->outer_unk = &obj->IUnknown_inner;
445
446 *ppv = &obj->IUnknown_inner;
447 return S_OK;
448}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define NULL
Definition: types.h:112
static const IUnknownVtbl timeline_vtbl
Definition: timeline.c:121
static const IAMTimelineVtbl IAMTimeline_VTable
Definition: timeline.c:388
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define TRACE(s)
Definition: solgame.cpp:4
#define ZeroMemory
Definition: winbase.h:1712

◆ MediaDet_create()

HRESULT MediaDet_create ( IUnknown pUnkOuter,
LPVOID ppObj 
)

Definition at line 639 of file mediadet.c.

639 {
641
642 TRACE("(%p,%p)\n", pUnkOuter, ppv);
643
645 if (NULL == obj) {
646 *ppv = NULL;
647 return E_OUTOFMEMORY;
648 }
649 ZeroMemory(obj, sizeof(MediaDetImpl));
650
651 obj->ref = 1;
652 obj->IUnknown_inner.lpVtbl = &mediadet_vtbl;
653 obj->IMediaDet_iface.lpVtbl = &IMediaDet_VTable;
654 obj->graph = NULL;
655 obj->source = NULL;
656 obj->splitter = NULL;
657 obj->cur_pin = NULL;
658 obj->num_streams = -1;
659 obj->cur_stream = 0;
660
661 if (pUnkOuter)
662 obj->outer_unk = pUnkOuter;
663 else
664 obj->outer_unk = &obj->IUnknown_inner;
665
666 *ppv = &obj->IUnknown_inner;
667 return S_OK;
668}
static const IMediaDetVtbl IMediaDet_VTable
Definition: mediadet.c:616
static const IUnknownVtbl mediadet_vtbl
Definition: mediadet.c:120

◆ SampleGrabber_create()

HRESULT SampleGrabber_create ( IUnknown pUnkOuter,
LPVOID ppObj 
)

Definition at line 1251 of file samplegrabber.c.

1252{
1253 SG_Impl* obj = NULL;
1254 ISeekingPassThru *passthru;
1255 HRESULT hr;
1256
1257 TRACE("(%p,%p)\n", pUnkOuter, ppv);
1258
1259 obj = CoTaskMemAlloc(sizeof(SG_Impl));
1260 if (NULL == obj) {
1261 *ppv = NULL;
1262 return E_OUTOFMEMORY;
1263 }
1264 ZeroMemory(obj, sizeof(SG_Impl));
1265
1266 BaseFilter_Init(&obj->filter, &IBaseFilter_VTable, &CLSID_SampleGrabber,
1267 (DWORD_PTR)(__FILE__ ": SG_Impl.csFilter"), &basefunc_vtbl);
1268 obj->IUnknown_inner.lpVtbl = &samplegrabber_vtbl;
1269 obj->ISampleGrabber_iface.lpVtbl = &ISampleGrabber_VTable;
1270 obj->IMemInputPin_iface.lpVtbl = &IMemInputPin_VTable;
1271 obj->pin_in.IPin_iface.lpVtbl = &IPin_In_VTable;
1272 obj->pin_in.dir = PINDIR_INPUT;
1273 obj->pin_in.name = pin_in_name;
1274 obj->pin_in.sg = obj;
1275 obj->pin_in.pair = NULL;
1276 obj->pin_out.IPin_iface.lpVtbl = &IPin_Out_VTable;
1277 obj->pin_out.dir = PINDIR_OUTPUT;
1278 obj->pin_out.name = pin_out_name;
1279 obj->pin_out.sg = obj;
1280 obj->pin_out.pair = NULL;
1281 obj->mtype.majortype = GUID_NULL;
1282 obj->mtype.subtype = MEDIASUBTYPE_None;
1283 obj->mtype.formattype = FORMAT_None;
1284 obj->allocator = NULL;
1285 obj->memOutput = NULL;
1286 obj->grabberIface = NULL;
1287 obj->grabberMethod = -1;
1288 obj->oneShot = OneShot_None;
1289 obj->bufferLen = -1;
1290 obj->bufferData = NULL;
1291
1292 if (pUnkOuter)
1293 obj->outer_unk = pUnkOuter;
1294 else
1295 obj->outer_unk = &obj->IUnknown_inner;
1296
1297 hr = CoCreateInstance(&CLSID_SeekingPassThru, &obj->IUnknown_inner, CLSCTX_INPROC_SERVER,
1298 &IID_IUnknown, (void**)&obj->seekthru_unk);
1299 if(hr)
1300 return hr;
1301 IUnknown_QueryInterface(obj->seekthru_unk, &IID_ISeekingPassThru, (void**)&passthru);
1302 ISeekingPassThru_Init(passthru, FALSE, &obj->pin_in.IPin_iface);
1303 ISeekingPassThru_Release(passthru);
1304
1305 *ppv = &obj->IUnknown_inner;
1306 return S_OK;
1307}
@ PINDIR_OUTPUT
Definition: axcore.idl:42
@ PINDIR_INPUT
Definition: axcore.idl:41
const GUID IID_IUnknown
#define FALSE
Definition: types.h:117
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define GUID_NULL
Definition: ks.h:106
static const BaseFilterFuncTable basefunc_vtbl
static const IMemInputPinVtbl IMemInputPin_VTable
static const IPinVtbl IPin_In_VTable
static const WCHAR pin_in_name[]
Definition: samplegrabber.c:37
static const ISampleGrabberVtbl ISampleGrabber_VTable
static const IBaseFilterVtbl IBaseFilter_VTable
@ OneShot_None
static const WCHAR pin_out_name[]
Definition: samplegrabber.c:38
static const IUnknownVtbl samplegrabber_vtbl
static const IPinVtbl IPin_Out_VTable
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI BaseFilter_Init(BaseFilter *This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable *pBaseFuncsTable)
Definition: filter.c:196
uint32_t DWORD_PTR
Definition: typedefs.h:65