379
388
#define DECLSPEC_SELECTANY
380
389
/// CLSID definitions (used for CoCreateInstance call)
381
390
#define CLSID_SampleGrabber MP_CLSID_SampleGrabber
382
static DEFINE_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
391
MP_DEFINE_LOCAL_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
383
392
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
384
393
#define CLSID_NullRenderer MP_CLSID_NullRenderer
385
static DEFINE_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
394
MP_DEFINE_LOCAL_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
386
395
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
387
396
#define CLSID_SystemDeviceEnum MP_CLSID_SystemDeviceEnum
388
static DEFINE_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
397
MP_DEFINE_LOCAL_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
389
398
0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
390
399
#define CLSID_CaptureGraphBuilder2 MP_CLSID_CaptureGraphBuilder2
391
static DEFINE_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
400
MP_DEFINE_LOCAL_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
392
401
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
393
402
#define CLSID_VideoInputDeviceCategory MP_CLSID_VideoInputDeviceCategory
394
static DEFINE_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
403
MP_DEFINE_LOCAL_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
395
404
0xBD, 0x3B, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
396
405
#define CLSID_AudioInputDeviceCategory MP_CLSID_AudioInputDeviceCategory
397
static DEFINE_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
406
MP_DEFINE_LOCAL_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
398
407
0xbd, 0x43, 0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
399
408
#define CLSID_FilterGraph MP_CLSID_FilterGraph
400
static DEFINE_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
409
MP_DEFINE_LOCAL_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
401
410
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
402
411
#define CLSID_SystemClock MP_CLSID_SystemClock
403
static DEFINE_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
412
MP_DEFINE_LOCAL_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
404
413
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
406
415
#define CLSID_CaptureGraphBuilder MP_CLSID_CaptureGraphBuilder
407
static DEFINE_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
416
MP_DEFINE_LOCAL_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
408
417
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
409
418
#define CLSID_VideoPortManager MP_CLSID_VideoPortManager
410
static DEFINE_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
419
MP_DEFINE_LOCAL_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
411
420
0x7a, 0xed, 0x2c, 0x9d, 0x25, 0xa2);
412
421
#define IID_IPin MP_IID_IPin
413
static DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
422
MP_DEFINE_LOCAL_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
414
423
0xaf, 0x0b, 0xa7, 0x70);
415
424
#define IID_ICaptureGraphBuilder MP_IID_ICaptureGraphBuilder
416
static DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
425
MP_DEFINE_LOCAL_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
417
426
0xf0, 0x00, 0xaa, 0x00, 0x37, 0x61, 0xc5);
418
427
#define IID_IFilterGraph MP_IID_IFilterGraph
419
static DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
428
MP_DEFINE_LOCAL_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
420
429
0x20, 0xaf, 0x0b, 0xa7, 0x70);
421
430
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
422
static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
431
MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
423
432
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
426
435
/// IID definitions (used for QueryInterface call)
427
436
#define IID_IReferenceClock MP_IID_IReferenceClock
428
static DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
437
MP_DEFINE_LOCAL_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
429
438
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
430
439
#define IID_IAMBufferNegotiation MP_IID_IAMBufferNegotiation
431
static DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
440
MP_DEFINE_LOCAL_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
432
441
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
433
442
#define IID_IKsPropertySet MP_IID_IKsPropertySet
434
static DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
443
MP_DEFINE_LOCAL_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
435
444
0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
436
445
#define IID_ISampleGrabber MP_IID_ISampleGrabber
437
static DEFINE_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
446
MP_DEFINE_LOCAL_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
438
447
0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F);
439
448
#define IID_ISampleGrabberCB MP_IID_ISampleGrabberCB
440
static DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
449
MP_DEFINE_LOCAL_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
441
450
0xE7, 0x73, 0x14, 0x8E, 0xFF, 0x85);
442
451
#define IID_ICaptureGraphBuilder2 MP_IID_ICaptureGraphBuilder2
443
static DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
452
MP_DEFINE_LOCAL_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
444
453
0xfa, 0x00, 0xa0, 0xc9, 0xc6, 0xe3, 0x8d);
445
454
#define IID_ICreateDevEnum MP_IID_ICreateDevEnum
446
static DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
455
MP_DEFINE_LOCAL_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
447
456
0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
448
457
#define IID_IGraphBuilder MP_IID_IGraphBuilder
449
static DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
458
MP_DEFINE_LOCAL_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
450
459
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
451
460
#define IID_IAMVideoProcAmp MP_IID_IAMVideoProcAmp
452
static DEFINE_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
461
MP_DEFINE_LOCAL_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
453
462
0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
454
463
#define IID_IVideoWindow MP_IID_IVideoWindow
455
static DEFINE_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
464
MP_DEFINE_LOCAL_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
456
465
0x20, 0xaf, 0x0b, 0xa7, 0x70);
457
466
#define IID_IMediaControl MP_IID_IMediaControl
458
static DEFINE_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
467
MP_DEFINE_LOCAL_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
459
468
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
460
469
#define IID_IAMTVTuner MP_IID_IAMTVTuner
461
static DEFINE_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
470
MP_DEFINE_LOCAL_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
462
471
0xAA, 0x00, 0xBD, 0x83, 0x39);
463
472
#define IID_IAMCrossbar MP_IID_IAMCrossbar
464
static DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
473
MP_DEFINE_LOCAL_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
465
474
0xa0, 0xc9, 0x11, 0x89, 0x56);
466
475
#define IID_IAMStreamConfig MP_IID_IAMStreamConfig
467
static DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
476
MP_DEFINE_LOCAL_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
468
477
0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
469
478
#define IID_IAMAudioInputMixer MP_IID_IAMAudioInputMixer
470
static DEFINE_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
479
MP_DEFINE_LOCAL_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
471
480
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
472
481
#define IID_IAMTVAudio MP_IID_IAMTVAudio
473
static DEFINE_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
482
MP_DEFINE_LOCAL_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
474
483
0xA0, 0xC9, 0x56, 0x02, 0x66);
475
484
#define IID_IAMAnalogVideoDecoder MP_IID_IAMAnalogVideoDecoder
476
static DEFINE_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
485
MP_DEFINE_LOCAL_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
477
486
0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
478
487
#define IID_IPropertyBag MP_IID_IPropertyBag
479
static DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
488
MP_DEFINE_LOCAL_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
480
489
0xaa, 0x00, 0x4b, 0xb8, 0x51);
481
490
#define PIN_CATEGORY_CAPTURE MP_PIN_CATEGORY_CAPTURE
482
static DEFINE_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
491
MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
483
492
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
484
493
#define PIN_CATEGORY_VIDEOPORT MP_PIN_CATEGORY_VIDEOPORT
485
static DEFINE_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
494
MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
486
495
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
487
496
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
488
static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
497
MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
489
498
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
490
499
#define PIN_CATEGORY_VBI MP_PIN_CATEGORY_VBI
491
static DEFINE_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
500
MP_DEFINE_LOCAL_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
492
501
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
493
502
#define PROPSETID_TUNER MP_PROPSETID_TUNER
494
static DEFINE_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
503
MP_DEFINE_LOCAL_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
495
504
0xa0, 0xc9, 0x11, 0x89, 0x56);
496
505
#define MEDIATYPE_VBI MP_MEDIATYPE_VBI
497
static DEFINE_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
506
MP_DEFINE_LOCAL_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
498
507
0x00, 0xc0, 0xcc, 0x16, 0xba);
500
509
#define INSTANCEDATA_OF_PROPERTY_PTR(x) (((KSPROPERTY*)(x)) + 1)