1
0
Fork 0
mirror of https://github.com/reactos/reactos.git synced 2025-06-01 07:28:19 +00:00

- Update headers

svn path=/trunk/; revision=32946
This commit is contained in:
Dmitry Chapyshev 2008-04-13 18:21:20 +00:00
parent 73c8871a92
commit 512c0021fa
8 changed files with 1245 additions and 894 deletions

View file

@ -141,7 +141,9 @@ typedef struct _avistreamheader
} rcFrame;
} AVISTREAMHEADER;
#if defined(_MSC_VER)
#pragma warning(disable:4200)
#endif
typedef struct _avioldindex
{

View file

@ -10,6 +10,7 @@
<file>mediaobj.idl</file>
<file>medparam.idl</file>
<file>mmstream.idl</file>
<file>qedit.idl</file>
<file>regbag.idl</file>
<file>tvratings.idl</file>
<file>vidcap.idl</file>

View file

@ -1,50 +1,50 @@
#ifndef __KSUUIDS__
#define __KSUUIDS__
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER,0xE06D8031, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_MPEG2Video,0xE06D80e3, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_DolbyAC3,0xE06D80e4, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(AM_KSPROPSETID_DVD_RateChange,0x3577EB09, 0x9582, 0x477F, 0xB2, 0x9C, 0xB0, 0xC4, 0x52, 0xA4, 0xFF, 0x9A)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdKaraoke,0xAE4720AE, 0xAA71, 0x42D8, 0xB8, 0x2A, 0xFF, 0xFD, 0xF5, 0x8B, 0x76, 0xFD)
OUR_GUID_ENTRY(AM_KSPROPSETID_FrameStep,0xC830ACBD, 0xAB07, 0x492F, 0x88, 0x52, 0x45, 0xB6, 0x98, 0x7C, 0x29, 0x79)
OUR_GUID_ENTRY(AM_KSCATEGORY_CAPTURE,0x65E8773DL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_VIDEO,0x6994AD05L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVTUNER,0xa799a800L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_LPCM_AUDIO,0xE06D8032, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_DSI,0xE06D8030, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PROGRAM,0xE06D8022, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT,0xE06D8023, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DTS,0xE06D8033, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_SDDS,0xE06D8034, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIATYPE_DVD_ENCRYPTED_PACK,0xED0B916A, 0x044D, 0x11D1, 0xAA, 0x78, 0x00, 0xC0, 0x04F, 0xC3, 0x1D, 0x60)
OUR_GUID_ENTRY(MEDIATYPE_DVD_NAVIGATION,0xE06D802E, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PCI,0xE06D802F, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_AUDIO,0xE06D802B, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3,0xE06D802C, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(IID_IKsPin,0xb61178D1L, 0xA2D9, 0x11CF, 0x9E, 0x53, 0x00, 0xAA, 0x00, 0xA2, 0x16, 0xA1)
OUR_GUID_ENTRY(IID_IKsInterfaceHandler,0xD3ABC7E0L, 0x9A61, 0x11D0, 0xA4, 0x0D, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(IID_IKsDataTypeHandler,0x5FFBAA02L, 0x49A3, 0x11D0, 0x9F, 0x36, 0x00, 0xAA, 0x00, 0xA2, 0x16, 0xA1)
OUR_GUID_ENTRY(AM_KSCATEGORY_RENDER,0x65E8773EL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_DATACOMPRESSOR,0x1E84C900L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00)
OUR_GUID_ENTRY(AM_KSCATEGORY_AUDIO,0x6994AD04L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(FORMAT_MPEG2Audio,0xE06D80e5, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_DVD_LPCMAudio,0xE06D80E6, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(AM_KSPROPSETID_AC3,0xBFABE720, 0x6E1F, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdSubPic,0xAC390460, 0x43AF, 0x11D0, 0xbd, 0x6A, 0x00, 0x35, 0x05, 0xc1, 0x03, 0xA9)
OUR_GUID_ENTRY(AM_KSPROPSETID_CopyProt,0x0E8A0A40, 0x6AEF, 0x11D0, 0x9E, 0xD0, 0x00, 0xA0, 0x24, 0xCA, 0x19, 0xB3)
OUR_GUID_ENTRY(AM_KSPROPSETID_TSRateChange,0xA503C5C0, 0x1D1D, 0x11D1, 0xAD, 0x80, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER, 0xE06D8031, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_MPEG2Video, 0xE06D80e3, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_DolbyAC3, 0xE06D80e4, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(AM_KSPROPSETID_DVD_RateChange, 0x3577EB09, 0x9582, 0x477F, 0xB2, 0x9C, 0xB0, 0xC4, 0x52, 0xA4, 0xFF, 0x9A)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdKaraoke, 0xAE4720AE, 0xAA71, 0x42D8, 0xB8, 0x2A, 0xFF, 0xFD, 0xF5, 0x8B, 0x76, 0xFD)
OUR_GUID_ENTRY(AM_KSPROPSETID_FrameStep, 0xC830ACBD, 0xAB07, 0x492F, 0x88, 0x52, 0x45, 0xB6, 0x98, 0x7C, 0x29, 0x79)
OUR_GUID_ENTRY(AM_KSCATEGORY_CAPTURE, 0x65E8773DL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_VIDEO, 0x6994AD05L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVTUNER, 0xa799a800L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_LPCM_AUDIO, 0xE06D8032, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_DSI, 0xE06D8030, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_PROGRAM, 0xE06D8022, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_TRANSPORT, 0xE06D8023, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DTS, 0xE06D8033, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_SDDS, 0xE06D8034, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIATYPE_DVD_ENCRYPTED_PACK, 0xED0B916A, 0x044D, 0x11D1, 0xAA, 0x78, 0x00, 0xC0, 0x04F, 0xC3, 0x1D, 0x60)
OUR_GUID_ENTRY(MEDIATYPE_DVD_NAVIGATION, 0xE06D802E, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_NAVIGATION_PCI, 0xE06D802F, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_AUDIO, 0xE06D802B, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3, 0xE06D802C, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(IID_IKsPin, 0xb61178D1L, 0xA2D9, 0x11CF, 0x9E, 0x53, 0x00, 0xAA, 0x00, 0xA2, 0x16, 0xA1)
OUR_GUID_ENTRY(IID_IKsInterfaceHandler, 0xD3ABC7E0L, 0x9A61, 0x11D0, 0xA4, 0x0D, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(IID_IKsDataTypeHandler, 0x5FFBAA02L, 0x49A3, 0x11D0, 0x9F, 0x36, 0x00, 0xAA, 0x00, 0xA2, 0x16, 0xA1)
OUR_GUID_ENTRY(AM_KSCATEGORY_RENDER, 0x65E8773EL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_DATACOMPRESSOR, 0x1E84C900L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00)
OUR_GUID_ENTRY(AM_KSCATEGORY_AUDIO, 0x6994AD04L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(FORMAT_MPEG2Audio, 0xE06D80e5, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_DVD_LPCMAudio, 0xE06D80E6, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(AM_KSPROPSETID_AC3, 0xBFABE720, 0x6E1F, 0x11D0, 0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00)
OUR_GUID_ENTRY(AM_KSPROPSETID_DvdSubPic, 0xAC390460, 0x43AF, 0x11D0, 0xbd, 0x6A, 0x00, 0x35, 0x05, 0xc1, 0x03, 0xA9)
OUR_GUID_ENTRY(AM_KSPROPSETID_CopyProt, 0x0E8A0A40, 0x6AEF, 0x11D0, 0x9E, 0xD0, 0x00, 0xA0, 0x24, 0xCA, 0x19, 0xB3)
OUR_GUID_ENTRY(AM_KSPROPSETID_TSRateChange, 0xA503C5C0, 0x1D1D, 0x11D1, 0xAD, 0x80, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0 )
OUR_GUID_ENTRY(IID_IKsPinFactory, 0xCD5EBE6BL, 0x8B6E, 0x11D1, 0x8A, 0xE0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PACK,0x36523B13, 0x8EE5, 0x11D1, 0x8C, 0xA3, 0x00, 0x60, 0xB0, 0x57, 0x66, 0x4A)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PES,0xE06D8020, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_VIDEO,0xE06D8026, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_MPEG2_VIDEO,0xE06D80e3, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_VIDEOINFO2,0xF72A76A0L, 0xEB0A, 0x11D0, 0xAC, 0xE4, 0x0, 0x0, 0xC0, 0xCC, 0x16, 0xBA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_SUBPICTURE,0xE06D802d, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PACK, 0x36523B13, 0x8EE5, 0x11D1, 0x8C, 0xA3, 0x00, 0x60, 0xB0, 0x57, 0x66, 0x4A)
OUR_GUID_ENTRY(MEDIATYPE_MPEG2_PES, 0xE06D8020, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG2_VIDEO, 0xE06D8026, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_MPEG2_VIDEO, 0xE06D80e3, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(FORMAT_VIDEOINFO2, 0xF72A76A0L, 0xEB0A, 0x11D0, 0xAC, 0xE4, 0x0, 0x0, 0xC0, 0xCC, 0x16, 0xBA)
OUR_GUID_ENTRY(MEDIASUBTYPE_DVD_SUBPICTURE, 0xE06D802d, 0xDB46, 0x11CF, 0xB4, 0xD1, 0x00, 0x80, 0x05F, 0x6C, 0xBB, 0xEA)
OUR_GUID_ENTRY(AM_INTERFACESETID_Standard, 0x1A8766A0L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00)
OUR_GUID_ENTRY(IID_IKsControl,0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_CROSSBAR,0xa799a801L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVAUDIO,0xa799a802L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC,0x07dAD660L, 0x22F1, 0x11D1, 0xa9, 0xF4, 0x00, 0xc0, 0x4F, 0xBB, 0xDE, 0x8F)
OUR_GUID_ENTRY(AM_KSCATEGORY_SPLITTER,0x0A4252A0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00)
OUR_GUID_ENTRY(IID_IKsControl, 0x28F54685L, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96)
OUR_GUID_ENTRY(AM_KSCATEGORY_CROSSBAR, 0xa799a801L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(AM_KSCATEGORY_TVAUDIO, 0xa799a802L, 0xA46D, 0x11D0, 0xA1, 0x8C, 0x00, 0xA0, 0x24, 0x01, 0xdc, 0xD4)
OUR_GUID_ENTRY(AM_KSCATEGORY_VBICODEC, 0x07dAD660L, 0x22F1, 0x11D1, 0xa9, 0xF4, 0x00, 0xc0, 0x4F, 0xBB, 0xDE, 0x8F)
OUR_GUID_ENTRY(AM_KSCATEGORY_SPLITTER, 0x0A4252A0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00)
#endif

View file

@ -0,0 +1,168 @@
/*
* Copyright (C) 2008 Google (Lei Zhang)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
import "ocidl.idl";
/* import "dxtrans.idl"; */
import "amstream.idl";
import "msxml.idl";
[
object,
uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
local,
pointer_default(unique)
]
interface ISampleGrabberCB : IUnknown
{
HRESULT SampleCB(
double SampleTime,
IMediaSample * pSample
);
HRESULT BufferCB(
double SampleTime,
BYTE * pBuffer,
long BufferLen
);
}
[
object,
uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
local,
pointer_default(unique)
]
interface ISampleGrabber: IUnknown
{
HRESULT SetOneShot(
BOOL OneShot
);
HRESULT SetMediaType(
const AM_MEDIA_TYPE * pType
);
HRESULT GetConnectedMediaType(
AM_MEDIA_TYPE * pType
);
HRESULT SetBufferSamples(
BOOL BufferThem
);
HRESULT GetCurrentBuffer(
[in,out] long * pBufferSize,
[out] long * pBuffer
);
HRESULT GetCurrentSample(
[out] IMediaSample ** ppSample
);
HRESULT SetCallback(
ISampleGrabberCB * pCallback,
long WhichMethodToCallback
);
};
[
object,
uuid(65bd0710-24d2-4FF7-9324-ed2e5d3abafa),
pointer_default(unique)
]
interface IMediaDet : IUnknown
{
HRESULT get_Filter(
[out] IUnknown* *pVal
);
HRESULT put_Filter(
IUnknown* newVal
);
HRESULT get_OutputStreams(
[out] long *pVal
);
HRESULT get_CurrentStream(
[out] long *pVal
);
HRESULT put_CurrentStream(
long newVal
);
HRESULT get_StreamType(
[out] GUID *pVal
);
HRESULT get_StreamTypeB(
[out] BSTR *pVal
);
HRESULT get_StreamLength(
[out] double *pVal
);
HRESULT get_Filename(
[out] BSTR *pVal
);
HRESULT put_Filename(
BSTR newVal
);
HRESULT GetBitmapBits(
double StreamTime,
long * pBufferSize,
char * pBuffer,
long Width,
long Height
);
HRESULT WriteBitmapBits(
double StreamTime,
long Width,
long Height,
BSTR Filename
);
HRESULT get_StreamMediaType(
[out] AM_MEDIA_TYPE * pVal
);
HRESULT GetSampleGrabber(
[out] ISampleGrabber ** ppVal
);
HRESULT get_FrameRate(
[out] double *pVal
);
HRESULT EnterBitmapGrabMode(
double SeekTime
);
};
[
uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
]
coclass MediaDet
{
[default] interface IMediaDet;
};

View file

@ -373,8 +373,11 @@ OUR_GUID_ENTRY(CLSID_TVEFilterTuneProperties, 0x05500281, 0xFAA5, 0x4D
OUR_GUID_ENTRY(CLSID_TVEFilterCCProperties, 0x05500282, 0xFAA5, 0x4DF9, 0x82, 0x46, 0xBF, 0xC2, 0x3A, 0xC5, 0xCE, 0xA8)
OUR_GUID_ENTRY(CLSID_TVEFilterStatsProperties, 0x05500283, 0xFAA5, 0x4DF9, 0x82, 0x46, 0xBF, 0xC2, 0x3A, 0xC5, 0xCE, 0xA8)
OUR_GUID_ENTRY(CLSID_IVideoEncoderProxy, 0xB43c4eec, 0x8C32, 0x4791, 0x91, 0x02, 0x50, 0x8A, 0xda, 0x5E, 0xE8, 0xE7)
OUR_GUID_ENTRY(CLSID_ICodecAPIProxy, 0x7ff0997a, 0x1999, 0x4286, 0xA7, 0x3C, 0x62, 0x2B, 0x88, 0x14, 0xE7, 0xEB )
OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy, 0xB05dabd9, 0x56e5, 0x4Fdc, 0xAF, 0xA4, 0x8A, 0x47, 0xE9, 0x1F, 0x1C, 0x9C )
OUR_GUID_ENTRY(CLSID_ICodecAPIProxy, 0x7ff0997a, 0x1999, 0x4286, 0xA7, 0x3C, 0x62, 0x2B, 0x88, 0x14, 0xE7, 0xEB)
OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy, 0xB05dabd9, 0x56e5, 0x4Fdc, 0xAF, 0xA4, 0x8A, 0x47, 0xE9, 0x1F, 0x1C, 0x9C)
OUR_GUID_ENTRY(CLSID_AVIDocWriter, 0xd3588ab1, 0x0781, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70)
OUR_GUID_ENTRY(CLSID_NullRenderer, 0xc1f400a4, 0x3f08, 0x11d3, 0x9f, 0x0b, 0x00, 0x60, 0x08, 0x03, 0x9e, 0x37)
OUR_GUID_ENTRY(CLSID_WAVEParser, 0xd51bd5a1, 0x7548, 0x11cf, 0xa5, 0x20, 0x00, 0x80, 0xc7, 0x7e, 0xf5, 0x8a)
#ifndef __ENCODER_API_GUIDS__
#define __ENCODER_API_GUIDS__

View file

@ -89,13 +89,14 @@ extern "C" {
#define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE+12)
#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13)
#define MMSYSERR_BADDB (MMSYSERR_BASE+14)
#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE+15)
#define MMSYSERR_READERROR (MMSYSERR_BASE+16)
#define MMSYSERR_WRITEERROR (MMSYSERR_BASE+17)
#define MMSYSERR_DELETEERROR (MMSYSERR_BASE+18)
#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE+19)
#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE+20)
#define MMSYSERR_LASTERROR (MMSYSERR_BASE+20)
#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE + 15)
#define MMSYSERR_READERROR (MMSYSERR_BASE + 16)
#define MMSYSERR_WRITEERROR (MMSYSERR_BASE + 17)
#define MMSYSERR_DELETEERROR (MMSYSERR_BASE + 18)
#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE + 19)
#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE + 20)
#define MMSYSERR_MOREDATA (MMSYSERR_BASE + 21)
#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 21)
#define DRV_LOAD 1
#define DRV_ENABLE 2
#define DRV_OPEN 3
@ -914,6 +915,7 @@ typedef UINT MCIDEVICEID;
typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
typedef UINT MMVERSION;
typedef UINT MMRESULT;
typedef struct mmtime_tag {
UINT wType;
union {
@ -935,18 +937,22 @@ typedef struct mmtime_tag {
} midi;
} u;
} MMTIME,*PMMTIME,*LPMMTIME;
DECLARE_HANDLE(HDRVR);
typedef struct tagDRVCONFIGINFO {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
typedef struct DRVCONFIGINFOEX {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
DWORD dnDevNode;
} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
typedef DRVCALLBACK *LPDRVCALLBACK;
@ -958,6 +964,7 @@ typedef HWAVEIN *LPHWAVEIN;
typedef HWAVEOUT *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK *LPWAVECALLBACK;
typedef struct wavehdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
@ -968,6 +975,7 @@ typedef struct wavehdr_tag {
struct wavehdr_tag *lpNext;
DWORD reserved;
} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
typedef struct tagWAVEOUTCAPSA {
WORD wMid;
WORD wPid;
@ -978,6 +986,7 @@ typedef struct tagWAVEOUTCAPSA {
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
typedef struct tagWAVEOUTCAPSW {
WORD wMid;
WORD wPid;
@ -988,6 +997,7 @@ typedef struct tagWAVEOUTCAPSW {
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
typedef struct tagWAVEINCAPSA {
WORD wMid;
WORD wPid;
@ -997,6 +1007,7 @@ typedef struct tagWAVEINCAPSA {
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
typedef struct tagWAVEINCAPSW {
WORD wMid;
WORD wPid;
@ -1006,6 +1017,7 @@ typedef struct tagWAVEINCAPSW {
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
typedef struct waveformat_tag {
WORD wFormatTag;
WORD nChannels;
@ -1013,10 +1025,12 @@ typedef struct waveformat_tag {
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
typedef struct pcmwaveformat_tag {
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
#ifndef _WAVEFORMATEX_
#define _WAVEFORMATEX_
typedef struct tWAVEFORMATEX {
@ -1028,12 +1042,15 @@ typedef struct tWAVEFORMATEX {
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
#endif
DECLARE_HANDLE(HMIDI);
DECLARE_HANDLE(HMIDIIN);
DECLARE_HANDLE(HMIDIOUT);
DECLARE_HANDLE(HMIDISTRM);
typedef HMIDI *LPHMIDI;
typedef HMIDIIN *LPHMIDIIN;
typedef HMIDIOUT *LPHMIDIOUT;
@ -1044,6 +1061,7 @@ typedef WORD PATCHARRAY[MIDIPATCHSIZE];
typedef WORD *LPPATCHARRAY;
typedef WORD KEYARRAY[MIDIPATCHSIZE];
typedef WORD *LPKEYARRAY;
typedef struct tagMIDIOUTCAPSA {
WORD wMid;
WORD wPid;
@ -1055,6 +1073,7 @@ typedef struct tagMIDIOUTCAPSA {
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
typedef struct tagMIDIOUTCAPSW {
WORD wMid;
WORD wPid;
@ -1066,6 +1085,7 @@ typedef struct tagMIDIOUTCAPSW {
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
typedef struct tagMIDIINCAPSA {
WORD wMid;
WORD wPid;
@ -1073,6 +1093,7 @@ typedef struct tagMIDIINCAPSA {
CHAR szPname[MAXPNAMELEN];
DWORD dwSupport;
} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
typedef struct tagMIDIINCAPSW {
WORD wMid;
WORD wPid;
@ -1080,6 +1101,7 @@ typedef struct tagMIDIINCAPSW {
WCHAR szPname[MAXPNAMELEN];
DWORD dwSupport;
} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
typedef struct midihdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
@ -1091,25 +1113,30 @@ typedef struct midihdr_tag {
DWORD dwOffset;
DWORD dwReserved[8];
} MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
typedef struct midievent_tag {
DWORD dwDeltaTime;
DWORD dwStreamID;
DWORD dwEvent;
DWORD dwParms[1];
} MIDIEVENT;
typedef struct midistrmbuffver_tag {
DWORD dwVersion;
DWORD dwMid;
DWORD dwOEMVersion;
} MIDISTRMBUFFVER;
typedef struct midiproptimediv_tag {
DWORD cbStruct;
DWORD dwTimeDiv;
} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
typedef struct midiproptempo_tag {
DWORD cbStruct;
DWORD dwTempo;
} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
typedef struct tagAUXCAPSA {
WORD wMid;
WORD wPid;
@ -1119,6 +1146,7 @@ typedef struct tagAUXCAPSA {
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
typedef struct tagAUXCAPSW {
WORD wMid;
WORD wPid;
@ -1128,10 +1156,12 @@ typedef struct tagAUXCAPSW {
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
DECLARE_HANDLE(HMIXEROBJ);
typedef HMIXEROBJ *LPHMIXEROBJ;
DECLARE_HANDLE(HMIXER);
typedef HMIXER *LPHMIXER;
typedef struct tagMIXERCAPSA {
WORD wMid;
WORD wPid;
@ -1140,6 +1170,7 @@ typedef struct tagMIXERCAPSA {
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
typedef struct tagMIXERCAPSW {
WORD wMid;
WORD wPid;
@ -1148,6 +1179,7 @@ typedef struct tagMIXERCAPSW {
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
typedef struct tagMIXERLINEA {
DWORD cbStruct;
DWORD dwDestination;
@ -1170,6 +1202,7 @@ typedef struct tagMIXERLINEA {
CHAR szPname[MAXPNAMELEN];
} Target;
} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
typedef struct tagMIXERLINEW {
DWORD cbStruct;
DWORD dwDestination;
@ -1192,6 +1225,7 @@ typedef struct tagMIXERLINEW {
WCHAR szPname[MAXPNAMELEN];
} Target;
} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
typedef struct tagMIXERCONTROLA {
DWORD cbStruct;
DWORD dwControlID;
@ -1217,6 +1251,7 @@ typedef struct tagMIXERCONTROLA {
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
typedef struct tagMIXERCONTROLW {
DWORD cbStruct;
DWORD dwControlID;
@ -1242,6 +1277,7 @@ typedef struct tagMIXERCONTROLW {
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
typedef struct tagMIXERLINECONTROLSA {
DWORD cbStruct;
DWORD dwLineID;
@ -1253,6 +1289,7 @@ typedef struct tagMIXERLINECONTROLSA {
DWORD cbmxctrl;
LPMIXERCONTROLA pamxctrl;
} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
typedef struct tagMIXERLINECONTROLSW {
DWORD cbStruct;
DWORD dwLineID;
@ -1264,6 +1301,7 @@ typedef struct tagMIXERLINECONTROLSW {
DWORD cbmxctrl;
LPMIXERCONTROLW pamxctrl;
} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct;
DWORD dwControlID;
@ -1275,31 +1313,40 @@ typedef struct tMIXERCONTROLDETAILS {
DWORD cbDetails;
PVOID paDetails;
} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
DWORD dwParam1;
DWORD dwParam2;
CHAR szName[MIXER_LONG_NAME_CHARS];
} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
DWORD dwParam1;
DWORD dwParam2;
WCHAR szName[MIXER_LONG_NAME_CHARS];
} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
LONG fValue;
} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
typedef struct tMIXERCONTROLDETAILS_SIGNED {
LONG lValue;
} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
DWORD dwValue;
} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
typedef TIMECALLBACK *LPTIMECALLBACK;
typedef struct timecaps_tag {
UINT wPeriodMin;
UINT wPeriodMax;
} TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
typedef struct tagJOYCAPSA {
WORD wMid;
WORD wPid;
@ -1326,6 +1373,7 @@ typedef struct tagJOYCAPSA {
CHAR szRegKey[MAXPNAMELEN];
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
typedef struct tagJOYCAPSW {
WORD wMid;
WORD wPid;
@ -1352,12 +1400,14 @@ typedef struct tagJOYCAPSW {
WCHAR szRegKey[MAXPNAMELEN];
WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
typedef struct joyinfo_tag {
UINT wXpos;
UINT wYpos;
UINT wZpos;
UINT wButtons;
} JOYINFO,*PJOYINFO,*LPJOYINFO;
typedef struct joyinfoex_tag {
DWORD dwSize;
DWORD dwFlags;
@ -1373,11 +1423,17 @@ typedef struct joyinfoex_tag {
DWORD dwReserved1;
DWORD dwReserved2;
} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
typedef DWORD FOURCC;
typedef char *HPSTR;
DECLARE_HANDLE(HMMIO);
typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
typedef MMIOPROC *LPMMIOPROC;
typedef struct _MMIOINFO {
DWORD dwFlags;
FOURCC fccIOProc;
@ -1396,7 +1452,9 @@ typedef struct _MMIOINFO {
DWORD dwReserved2;
HMMIO hmmio;
} MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
typedef const MMIOINFO *LPCMMIOINFO;
typedef struct _MMCKINFO {
FOURCC ckid;
DWORD cksize;
@ -1404,10 +1462,13 @@ typedef struct _MMCKINFO {
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
typedef const MMCKINFO *LPCMMCKINFO;
typedef struct tagMCI_GENERIC_PARMS {
DWORD dwCallback;
} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
typedef struct tagMCI_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
@ -1415,6 +1476,7 @@ typedef struct tagMCI_OPEN_PARMSA {
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
typedef struct tagMCI_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
@ -1422,36 +1484,43 @@ typedef struct tagMCI_OPEN_PARMSW {
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
typedef struct tagMCI_PLAY_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
typedef struct tagMCI_SEEK_PARMS {
DWORD dwCallback;
DWORD dwTo;
} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
typedef struct tagMCI_STATUS_PARMS {
DWORD dwCallback;
DWORD dwReturn;
DWORD dwItem;
DWORD dwTrack;
} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
typedef struct tagMCI_INFO_PARMSA {
DWORD dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
typedef struct tagMCI_INFO_PARMSW {
DWORD dwCallback;
LPWSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
typedef struct tagMCI_GETDEVCAPS_PARMS {
DWORD dwCallback;
DWORD dwReturn;
DWORD dwItem;
} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
typedef struct tagMCI_SYSINFO_PARMSA {
DWORD dwCallback;
LPSTR lpstrReturn;
@ -1459,6 +1528,7 @@ typedef struct tagMCI_SYSINFO_PARMSA {
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
typedef struct tagMCI_SYSINFO_PARMSW {
DWORD dwCallback;
LPWSTR lpstrReturn;
@ -1466,55 +1536,67 @@ typedef struct tagMCI_SYSINFO_PARMSW {
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
typedef struct tagMCI_SET_PARMS {
DWORD dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
typedef struct tagMCI_BREAK_PARMS {
DWORD dwCallback;
int nVirtKey;
HWND hwndBreak;
} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
typedef struct tagMCI_SAVE_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
typedef struct tagMCI_SAVE_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
typedef struct tagMCI_LOAD_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
typedef struct tagMCI_LOAD_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
typedef struct tagMCI_RECORD_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
typedef struct tagMCI_VD_PLAY_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
DWORD dwSpeed;
} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
typedef struct tagMCI_VD_STEP_PARMS {
DWORD dwCallback;
DWORD dwFrames;
} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
typedef struct tagMCI_VD_ESCAPE_PARMSA {
DWORD dwCallback;
LPCSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
typedef struct tagMCI_VD_ESCAPE_PARMSW {
DWORD dwCallback;
LPCWSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
typedef struct tagMCI_WAVE_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
@ -1523,6 +1605,7 @@ typedef struct tagMCI_WAVE_OPEN_PARMSA {
LPCSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
typedef struct tagMCI_WAVE_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
@ -1531,11 +1614,13 @@ typedef struct tagMCI_WAVE_OPEN_PARMSW {
LPCWSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
typedef struct tagMCI_WAVE_DELETE_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
typedef struct tagMCI_WAVE_SET_PARMS {
DWORD dwCallback;
DWORD dwTimeFormat;

View file

@ -245,7 +245,9 @@ typedef enum
typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
#ifndef INTERFACE
#define INTERFACE IQueryAssociations
#endif
DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
{
/*** IUnknown methods ***/

View file

@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU Lesser 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
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_MMREG_H
@ -114,6 +114,10 @@ typedef struct _WAVEFORMATEX {
#define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
#define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
#if !defined(WAVE_FORMAT_EXTENSIBLE)
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
#endif
#define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
typedef struct adpcmcoef_tag {
@ -358,8 +362,7 @@ typedef struct csimaadpcmwaveformat_tag {
typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT,
*NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT;
typedef struct
{
typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
@ -385,8 +388,7 @@ typedef struct
#define ACM_MPEG_PROTECTIONBIT 0x0008
#define ACM_MPEG_ID_MPEG1 0x0010
typedef struct
{
typedef struct mpeglayer3waveformat_tag {
WAVEFORMATEX wfx;
WORD wID;
DWORD fdwFlags;
@ -405,4 +407,92 @@ typedef struct
#define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
#define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
#ifdef GUID_DEFINED
#ifndef _WAVEFORMATEXTENSIBLE_
#define _WAVEFORMATEXTENSIBLE_
typedef struct {
WAVEFORMATEX Format;
union {
WORD wValidBitsPerSample;
WORD wSamplesPerBlock;
WORD wReserved;
} Samples;
DWORD dwChannelMask;
GUID SubFormat;
} WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
#endif /* _WAVEFORMATEXTENSIBLE_ */
#endif /* GUID_DEFINED */
typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* PWAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* NPWAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* LPWAVEFORMATPCMEX;
typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* PWAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* NPWAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* LPWAVEFORMATIEEEFLOATEX;
#ifndef _SPEAKER_POSITIONS_
#define _SPEAKER_POSITIONS_
#define SPEAKER_FRONT_LEFT 0x00000001
#define SPEAKER_FRONT_RIGHT 0x00000002
#define SPEAKER_FRONT_CENTER 0x00000004
#define SPEAKER_LOW_FREQUENCY 0x00000008
#define SPEAKER_BACK_LEFT 0x00000010
#define SPEAKER_BACK_RIGHT 0x00000020
#define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040
#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
#define SPEAKER_BACK_CENTER 0x00000100
#define SPEAKER_SIDE_LEFT 0x00000200
#define SPEAKER_SIDE_RIGHT 0x00000400
#define SPEAKER_TOP_CENTER 0x00000800
#define SPEAKER_TOP_FRONT_LEFT 0x00001000
#define SPEAKER_TOP_FRONT_CENTER 0x00002000
#define SPEAKER_TOP_FRONT_RIGHT 0x00004000
#define SPEAKER_TOP_BACK_LEFT 0x00008000
#define SPEAKER_TOP_BACK_CENTER 0x00010000
#define SPEAKER_TOP_BACK_RIGHT 0x00020000
#define SPEAKER_RESERVED 0x7FFC0000
#define SPEAKER_ALL 0x80000000
#endif /* _SPEAKER_POSITIONS_ */
/* DIB stuff */
#ifndef BI_BITFIELDS
#define BI_BITFIELDS 3
#endif
#ifndef QUERYDIBSUPPORT
#define QUERYDIBSUPPORT 3073
#define QDI_SETDIBITS 1
#define QDI_GETDIBITS 2
#define QDI_DIBTOSCREEN 4
#define QDI_STRETCHDIB 8
#endif
/*#ifndef NOBITMAP
typedef struct tagEXBMINFOHEADER {
BITMAPINFOHEADER bmi;
DWORD biExtDataOffset;
} EXBMINFOHEADER;
#endif*/
/* Video stuff */
#ifndef NONEWIC
#ifndef ICTYPE_VIDEO
#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
#endif
#endif
#endif /* __WINE_MMREG_H */