?? wmf9.pas
字號:
(*********************************************************************
* Windows Media Format 9 API *
* *
* home page : http://www.progdigy.com *
* email : hgourvest@progdigy.com *
* *
* date : 21-02-2003 *
* *
* The contents of this file are used with permission, subject to *
* the Mozilla Public License Version 1.1 (the "License"); you may *
* not use this file except in compliance with the License. You may *
* obtain a copy of the License at *
* http://www.mozilla.org/MPL/MPL-1.1.html *
* *
* wmsdkvalidate.h, wmdxva.idl, wmnetsourcecreator.idl, *
* wmsbuffer.idl, drmexternals.id, asferr.h, wmsysprf.h, *
* WMSInternalAdminNetSource.idl, wmsdkidl.idl, dshowasf.idl *
* *
* Software distributed under the License is distributed on an *
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or *
* implied. See the License for the specific language governing *
* rights and limitations under the License. *
* *
*********************************************************************)
unit WMF9;
interface
{$I DirectX.inc}
{$IFDEF DYNAMIC_LINK_ALL}
{$DEFINE WMF9_DYNAMIC_LINK}
{$ENDIF}
{$HPPEMIT '#include "asferr.h"'}
{$HPPEMIT '#include "drmexternals.h"'}
{$HPPEMIT '#include "dshowasf.h"'}
{$HPPEMIT '#include "nserror.h"'}
{$HPPEMIT '#include "wmdxva.h"'}
{$HPPEMIT '#include "wmnetsourcecreator.h"'}
{$HPPEMIT '#include "wmsbuffer.h"'}
{$HPPEMIT '#include "wmsdk.h"'}
{$HPPEMIT '#include "wmsdkidl.h"'}
{$HPPEMIT '#include "wmsdkvalidate.h"'}
{$HPPEMIT '#include "wmsinternaladminnetsource.h"'}
{$HPPEMIT '#include "wmsysprf.h"'}
uses Windows, ActiveX, DirectShow9;
//*@@@+++@@@@******************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//*@@@---@@@@******************************************************************
const
WMProfile_V40_DialUpMBR : TGUID = '{fd7f47f1-72a6-45a4-80f0-3aecefc32c07}';
{$EXTERNALSYM WMProfile_V40_DialUpMBR}
WMProfile_V40_IntranetMBR : TGUID = '{82cd3321-a94a-4ffc-9c2b-092c10ca16e7}';
{$EXTERNALSYM WMProfile_V40_IntranetMBR}
WMProfile_V40_2856100MBR : TGUID = '{5a1c2206-dc5e-4186-beb2-4c5a994b132e}';
{$EXTERNALSYM WMProfile_V40_2856100MBR}
WMProfile_V40_6VoiceAudio : TGUID = '{D508978A-11A0-4d15-B0DA-ACDC99D4F890}';
{$EXTERNALSYM WMProfile_V40_6VoiceAudio}
WMProfile_V40_16AMRadio : TGUID = '{0f4be81f-d57d-41e1-b2e3-2fad986bfec2}';
{$EXTERNALSYM WMProfile_V40_16AMRadio}
WMProfile_V40_288FMRadioMono : TGUID = '{7fa57fc8-6ea4-4645-8abf-b6e5a8f814a1}';
{$EXTERNALSYM WMProfile_V40_288FMRadioMono}
WMProfile_V40_288FMRadioStereo : TGUID = '{22fcf466-aa40-431f-a289-06d0ea1a1e40}';
{$EXTERNALSYM WMProfile_V40_288FMRadioStereo}
WMProfile_V40_56DialUpStereo : TGUID = '{e8026f87-e905-4594-a3c7-00d00041d1d9}';
{$EXTERNALSYM WMProfile_V40_56DialUpStereo}
WMProfile_V40_64Audio : TGUID = '{4820b3f7-cbec-41dc-9391-78598714c8e5}';
{$EXTERNALSYM WMProfile_V40_64Audio}
WMProfile_V40_96Audio : TGUID = '{0efa0ee3-9e64-41e2-837f-3c0038f327ba}';
{$EXTERNALSYM WMProfile_V40_96Audio}
WMProfile_V40_128Audio : TGUID = '{93ddbe12-13dc-4e32-a35e-40378e34279a}';
{$EXTERNALSYM WMProfile_V40_128Audio}
WMProfile_V40_288VideoVoice : TGUID = '{bb2bc274-0eb6-4da9-b550-ecf7f2b9948f}';
{$EXTERNALSYM WMProfile_V40_288VideoVoice}
WMProfile_V40_288VideoAudio : TGUID = '{ac617f2d-6cbe-4e84-8e9a-ce151a12a354}';
{$EXTERNALSYM WMProfile_V40_288VideoAudio}
WMProfile_V40_288VideoWebServer : TGUID = '{abf2f00d-d555-4815-94ce-8275f3a70bfe}';
{$EXTERNALSYM WMProfile_V40_288VideoWebServer}
WMProfile_V40_56DialUpVideo : TGUID = '{e21713bb-652f-4dab-99de-71e04400270f}';
{$EXTERNALSYM WMProfile_V40_56DialUpVideo}
WMProfile_V40_56DialUpVideoWebServer : TGUID = '{b756ff10-520f-4749-a399-b780e2fc9250}';
{$EXTERNALSYM WMProfile_V40_56DialUpVideoWebServer}
WMProfile_V40_100Video : TGUID = '{8f99ddd8-6684-456b-a0a3-33e1316895f0}';
{$EXTERNALSYM WMProfile_V40_100Video}
WMProfile_V40_250Video : TGUID = '{541841c3-9339-4f7b-9a22-b11540894e42}';
{$EXTERNALSYM WMProfile_V40_250Video}
WMProfile_V40_512Video : TGUID = '{70440e6d-c4ef-4f84-8cd0-d5c28686e784}';
{$EXTERNALSYM WMProfile_V40_512Video}
WMProfile_V40_1MBVideo : TGUID = '{b4482a4c-cc17-4b07-a94e-9818d5e0f13f}';
{$EXTERNALSYM WMProfile_V40_1MBVideo}
WMProfile_V40_3MBVideo : TGUID = '{55374ac0-309b-4396-b88f-e6e292113f28}';
{$EXTERNALSYM WMProfile_V40_3MBVideo}
WMProfile_V70_DialUpMBR : TGUID = '{5B16E74B-4068-45b5-B80E-7BF8C80D2C2F}';
{$EXTERNALSYM WMProfile_V70_DialUpMBR}
WMProfile_V70_IntranetMBR : TGUID = '{045880DC-34B6-4ca9-A326-73557ED143F3}';
{$EXTERNALSYM WMProfile_V70_IntranetMBR}
WMProfile_V70_2856100MBR : TGUID = '{07DF7A25-3FE2-4a5b-8B1E-348B0721CA70}';
{$EXTERNALSYM WMProfile_V70_2856100MBR}
WMProfile_V70_288VideoVoice : TGUID = '{B952F38E-7DBC-4533-A9CA-B00B1C6E9800}';
{$EXTERNALSYM WMProfile_V70_288VideoVoice}
WMProfile_V70_288VideoAudio : TGUID = '{58BBA0EE-896A-4948-9953-85B736F83947}';
{$EXTERNALSYM WMProfile_V70_288VideoAudio}
WMProfile_V70_288VideoWebServer : TGUID = '{70A32E2B-E2DF-4ebd-9105-D9CA194A2D50}';
{$EXTERNALSYM WMProfile_V70_288VideoWebServer}
WMProfile_V70_56VideoWebServer : TGUID = '{DEF99E40-57BC-4ab3-B2D1-B6E3CAF64257}';
{$EXTERNALSYM WMProfile_V70_56VideoWebServer}
WMProfile_V70_64VideoISDN : TGUID = '{C2B7A7E9-7B8E-4992-A1A1-068217A3B311}';
{$EXTERNALSYM WMProfile_V70_64VideoISDN}
WMProfile_V70_100Video : TGUID = '{D9F3C932-5EA9-4c6d-89B4-2686E515426E}';
{$EXTERNALSYM WMProfile_V70_100Video}
WMProfile_V70_256Video : TGUID = '{AFE69B3A-403F-4a1b-8007-0E21CFB3DF84}';
{$EXTERNALSYM WMProfile_V70_256Video}
WMProfile_V70_384Video : TGUID = '{F3D45FBB-8782-44df-97C6-8678E2F9B13D}';
{$EXTERNALSYM WMProfile_V70_384Video}
WMProfile_V70_768Video : TGUID = '{0326EBB6-F76E-4964-B0DB-E729978D35EE}';
{$EXTERNALSYM WMProfile_V70_768Video}
WMProfile_V70_1500Video : TGUID = '{0B89164A-5490-4686-9E37-5A80884E5146}';
{$EXTERNALSYM WMProfile_V70_1500Video}
WMProfile_V70_2000Video : TGUID = '{AA980124-BF10-4e4f-9AFD-4329A7395CFF}';
{$EXTERNALSYM WMProfile_V70_2000Video}
WMProfile_V70_700FilmContentVideo : TGUID = '{7A747920-2449-4d76-99CB-FDB0C90484D4}';
{$EXTERNALSYM WMProfile_V70_700FilmContentVideo}
WMProfile_V70_1500FilmContentVideo : TGUID = '{F6A5F6DF-EE3F-434c-A433-523CE55F516B}';
{$EXTERNALSYM WMProfile_V70_1500FilmContentVideo}
WMProfile_V70_6VoiceAudio : TGUID = '{EABA9FBF-B64F-49b3-AA0C-73FBDD150AD0}';
{$EXTERNALSYM WMProfile_V70_6VoiceAudio}
WMProfile_V70_288FMRadioMono : TGUID = '{C012A833-A03B-44a5-96DC-ED95CC65582D}';
{$EXTERNALSYM WMProfile_V70_288FMRadioMono}
WMProfile_V70_288FMRadioStereo : TGUID = '{E96D67C9-1A39-4dc4-B900-B1184DC83620}';
{$EXTERNALSYM WMProfile_V70_288FMRadioStereo}
WMProfile_V70_56DialUpStereo : TGUID = '{674EE767-0949-4fac-875E-F4C9C292013B}';
{$EXTERNALSYM WMProfile_V70_56DialUpStereo}
WMProfile_V70_64AudioISDN : TGUID = '{91DEA458-9D60-4212-9C59-D40919C939E4}';
{$EXTERNALSYM WMProfile_V70_64AudioISDN}
WMProfile_V70_64Audio : TGUID = '{B29CFFC6-F131-41db-B5E8-99D8B0B945F4}';
{$EXTERNALSYM WMProfile_V70_64Audio}
WMProfile_V70_96Audio : TGUID = '{A9D4B819-16CC-4a59-9F37-693DBB0302D6}';
{$EXTERNALSYM WMProfile_V70_96Audio}
WMProfile_V70_128Audio : TGUID = '{C64CF5DA-DF45-40d3-8027-DE698D68DC66}';
{$EXTERNALSYM WMProfile_V70_128Audio}
WMProfile_V70_225VideoPDA : TGUID = '{F55EA573-4C02-42b5-9026-A8260C438A9F}';
{$EXTERNALSYM WMProfile_V70_225VideoPDA}
WMProfile_V70_150VideoPDA : TGUID = '{0F472967-E3C6-4797-9694-F0304C5E2F17}';
{$EXTERNALSYM WMProfile_V70_150VideoPDA}
WMProfile_V80_255VideoPDA : TGUID = '{FEEDBCDF-3FAC-4c93-AC0D-47941EC72C0B}';
{$EXTERNALSYM WMProfile_V80_255VideoPDA}
WMProfile_V80_150VideoPDA : TGUID = '{AEE16DFA-2C14-4a2f-AD3F-A3034031784F}';
{$EXTERNALSYM WMProfile_V80_150VideoPDA}
WMProfile_V80_28856VideoMBR : TGUID = '{D66920C4-C21F-4ec8-A0B4-95CF2BD57FC4}';
{$EXTERNALSYM WMProfile_V80_28856VideoMBR}
WMProfile_V80_100768VideoMBR : TGUID = '{5BDB5A0E-979E-47d3-9596-73B386392A55}';
{$EXTERNALSYM WMProfile_V80_100768VideoMBR}
WMProfile_V80_288100VideoMBR : TGUID = '{D8722C69-2419-4b36-B4E0-6E17B60564E5}';
{$EXTERNALSYM WMProfile_V80_288100VideoMBR}
WMProfile_V80_288Video : TGUID = '{3DF678D9-1352-4186-BBF8-74F0C19B6AE2}';
{$EXTERNALSYM WMProfile_V80_288Video}
WMProfile_V80_56Video : TGUID = '{254E8A96-2612-405c-8039-F0BF725CED7D}';
{$EXTERNALSYM WMProfile_V80_56Video}
WMProfile_V80_100Video : TGUID = '{A2E300B4-C2D4-4fc0-B5DD-ECBD948DC0DF}';
{$EXTERNALSYM WMProfile_V80_100Video}
WMProfile_V80_256Video : TGUID = '{BBC75500-33D2-4466-B86B-122B201CC9AE}';
{$EXTERNALSYM WMProfile_V80_256Video}
WMProfile_V80_384Video : TGUID = '{29B00C2B-09A9-48bd-AD09-CDAE117D1DA7}';
{$EXTERNALSYM WMProfile_V80_384Video}
WMProfile_V80_768Video : TGUID = '{74D01102-E71A-4820-8F0D-13D2EC1E4872}';
{$EXTERNALSYM WMProfile_V80_768Video}
WMProfile_V80_700NTSCVideo : TGUID = '{C8C2985F-E5D9-4538-9E23-9B21BF78F745}';
{$EXTERNALSYM WMProfile_V80_700NTSCVideo}
WMProfile_V80_1400NTSCVideo : TGUID = '{931D1BEE-617A-4bcd-9905-CCD0786683EE}';
{$EXTERNALSYM WMProfile_V80_1400NTSCVideo}
WMProfile_V80_384PALVideo : TGUID = '{9227C692-AE62-4f72-A7EA-736062D0E21E}';
{$EXTERNALSYM WMProfile_V80_384PALVideo}
WMProfile_V80_700PALVideo : TGUID = '{EC298949-639B-45e2-96FD-4AB32D5919C2}';
{$EXTERNALSYM WMProfile_V80_700PALVideo}
WMProfile_V80_288MonoAudio : TGUID = '{7EA3126D-E1BA-4716-89AF-F65CEE0C0C67}';
{$EXTERNALSYM WMProfile_V80_288MonoAudio}
WMProfile_V80_288StereoAudio : TGUID = '{7E4CAB5C-35DC-45bb-A7C0-19B28070D0CC}';
{$EXTERNALSYM WMProfile_V80_288StereoAudio}
WMProfile_V80_32StereoAudio : TGUID = '{60907F9F-B352-47e5-B210-0EF1F47E9F9D}';
{$EXTERNALSYM WMProfile_V80_32StereoAudio}
WMProfile_V80_48StereoAudio : TGUID = '{5EE06BE5-492B-480a-8A8F-12F373ECF9D4}';
{$EXTERNALSYM WMProfile_V80_48StereoAudio}
WMProfile_V80_64StereoAudio : TGUID = '{09BB5BC4-3176-457f-8DD6-3CD919123E2D}';
{$EXTERNALSYM WMProfile_V80_64StereoAudio}
WMProfile_V80_96StereoAudio : TGUID = '{1FC81930-61F2-436f-9D33-349F2A1C0F10}';
{$EXTERNALSYM WMProfile_V80_96StereoAudio}
WMProfile_V80_128StereoAudio : TGUID = '{407B9450-8BDC-4ee5-88B8-6F527BD941F2}';
{$EXTERNALSYM WMProfile_V80_128StereoAudio}
WMProfile_V80_288VideoOnly : TGUID = '{8C45B4C7-4AEB-4f78-A5EC-88420B9DADEF}';
{$EXTERNALSYM WMProfile_V80_288VideoOnly}
WMProfile_V80_56VideoOnly : TGUID = '{6E2A6955-81DF-4943-BA50-68A986A708F6}';
{$EXTERNALSYM WMProfile_V80_56VideoOnly}
WMProfile_V80_FAIRVBRVideo : TGUID = '{3510A862-5850-4886-835F-D78EC6A64042}';
{$EXTERNALSYM WMProfile_V80_FAIRVBRVideo}
WMProfile_V80_HIGHVBRVideo : TGUID = '{0F10D9D3-3B04-4fb0-A3D3-88D4AC854ACC}';
{$EXTERNALSYM WMProfile_V80_HIGHVBRVideo}
WMProfile_V80_BESTVBRVideo : TGUID = '{048439BA-309C-440e-9CB4-3DCCA3756423}';
{$EXTERNALSYM WMProfile_V80_BESTVBRVideo}
//*@@@+++@@@@******************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//*@@@---@@@@******************************************************************
//
//import "mediaobj.idl";
//import "videoacc.idl"; // IAMVideoAccelerator
const
IID_IWMPlayerTimestampHook : TGUID = '{28580dda-d98e-48d0-b7ae-69e473a02825}';
{$EXTERNALSYM IID_IWMPlayerTimestampHook}
IID_IWMCodecVideoAccelerator : TGUID = '{990641b0-739f-4e94-a808-9888da8f75af}';
{$EXTERNALSYM IID_IWMCodecVideoAccelerator}
IID_IWMCodecAMVideoAccelerator : TGUID = '{d98ee251-34e0-4a2d-9312-9b4c788d9fa1}';
{$EXTERNALSYM IID_IWMCodecAMVideoAccelerator}
type
// Implemented by the player
{$HPPEMIT 'typedef System::DelphiInterface<IWMPlayerTimestampHook> _di_IWMPlayerTimestampHook;'}
{$EXTERNALSYM IWMPlayerTimestampHook}
IWMPlayerTimestampHook = interface(IUnknown)
['{28580dda-d98e-48d0-b7ae-69e473a02825}']
(*** IWMPlayerTimestampHook methods ***)
function MapTimestamp(rtIn: TReferenceTime;
out prtOut: TReferenceTime): HRESULT; stdcall;
end;
// Implemeted by video decoder DMOs for DXVA support
{$HPPEMIT 'typedef System::DelphiInterface<IWMCodecAMVideoAccelerator> _di_IWMCodecAMVideoAccelerator;'}
{$EXTERNALSYM IWMCodecAMVideoAccelerator}
IWMCodecAMVideoAccelerator = interface(IUnknown)
['{d98ee251-34e0-4a2d-9312-9b4c788d9fa1}']
(*** IWMCodecAMVideoAccelerator methods ***)
function SetAcceleratorInterface(pIAMVA: IAMVideoAccelerator): HRESULT; stdcall;
function NegotiateConnection(pMediaType: PDMOMediaType ): HRESULT; stdcall;
function SetPlayerNotify(pHook: IWMPlayerTimestampHook): HRESULT; stdcall;
end;
// Outdated version of IWMCodecAMVideoAccelerator
{$HPPEMIT 'typedef System::DelphiInterface<IWMCodecVideoAccelerator> _di_IWMCodecVideoAccelerator;'}
{$EXTERNALSYM IWMCodecVideoAccelerator}
IWMCodecVideoAccelerator = interface(IUnknown)
['{990641b0-739f-4e94-a808-9888da8f75af}']
(*** IWMCodecVideoAccelerator methods ***)
function NegotiateConnection(pIAMVA: IAMVideoAccelerator;
pMediaType: PDMOMediaType): HRESULT;
function SetPlayerNotify(pHook: IWMPlayerTimestampHook): HRESULT;
end;
//*****************************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// FileName: WMNetSourceCreator.idl
//
// Abstract:
//
//*****************************************************************************
const
CLSID_ClientNetManager : TGUID = '{CD12A3CE-9C42-11D2-BEED-0060082F2054}';
{$EXTERNALSYM CLSID_ClientNetManager}
IID_INSNetSourceCreator : TGUID = '{0C0E4080-9081-11d2-BEEC-0060082F2054}';
{$EXTERNALSYM IID_INSNetSourceCreator}
//////////////////////////////////////////////////////////////////////////////
//
// Interface for creating a NetSource plugin.
//
type
{$HPPEMIT 'typedef System::DelphiInterface<INSNetSourceCreator> _di_INSNetSourceCreator;'}
{$EXTERNALSYM INSNetSourceCreator}
INSNetSourceCreator = interface(IUnknown)
['{0C0E4080-9081-11d2-BEEC-0060082F2054}']
(*** INSNetSourceCreator methods ***)
function Initialize: HRESULT; stdcall;
//
// This method is called to create an instance of the a particular
// Network Source plugin
//
function CreateNetSource(pszStreamName: PWideChar; pMonitor: IUnknown;
pData: PBYTE; pUserContext, pCallback: IUnknown; qwContext: Int64): HRESULT; stdcall;
//
// This method returns the namespace node for the properties of the
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -