Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

715 lines
26 KiB

  1. // MSVidCtl.idl : IDL source for MSVidCtl.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (MSVidCtl.tlb) and marshalling code.
  5. // Copyright (c) Microsoft Corporation 1998-2000
  6. //
  7. cpp_quote("//+-------------------------------------------------------------------------")
  8. cpp_quote("//")
  9. cpp_quote("// Microsoft Windows")
  10. cpp_quote("// Copyright (C) Microsoft Corporation, 1999-2000.")
  11. cpp_quote("//")
  12. cpp_quote("//--------------------------------------------------------------------------")
  13. cpp_quote("#pragma once")
  14. #include <olectl.h>
  15. #ifndef DO_NO_IMPORTS
  16. #ifndef TUNING_MODEL_ONLY
  17. import "mshtml.idl";
  18. import "segment.idl";
  19. #endif
  20. #endif
  21. #ifndef TUNING_MODEL_ONLY
  22. typedef enum {
  23. dispidInputs,
  24. dispidOutputs,
  25. dispid_Inputs,
  26. dispid_Outputs,
  27. dispidVideoRenderers,
  28. dispidAudioRenderers,
  29. dispidFeatures,
  30. dispidInput,
  31. dispidOutput,
  32. dispidVideoRenderer,
  33. dispidAudioRenderer,
  34. dispidSelectedFeatures,
  35. dispidView, // total graph control
  36. dispidBuild,
  37. dispidPause,
  38. dispidRun,
  39. dispidStop,
  40. dispidDecompose,
  41. dispidDisplaySize,
  42. dispidMaintainAspectRatio,
  43. dispidColorKey,
  44. dispidStateChange,
  45. dispidgetState,
  46. dispidunbind,
  47. dispidbind,
  48. dispidDisableVideo,
  49. dispidDisableAudio,
  50. dispidViewNext,
  51. dispidServiceP
  52. } MSViddispidList;
  53. typedef enum {
  54. dslDefaultSize,
  55. dslSourceSize = 0, // synonym
  56. dslHalfSourceSize,
  57. dslDoubleSourceSize,
  58. dslFullScreen,
  59. dslHalfScreen,
  60. dslQuarterScreen,
  61. dslSixteenthScreen
  62. } DisplaySizeList;
  63. typedef enum {
  64. STATE_UNBUILT =-1,
  65. STATE_STOP,
  66. STATE_PAUSE,
  67. STATE_PLAY,
  68. } MSVidCtlStateList;
  69. //*****************************************************************************
  70. ///////////////////////////////////////////////////////////////////////////////
  71. //
  72. // the full Viewer control
  73. //
  74. ///////////////////////////////////////////////////////////////////////////////
  75. //*****************************************************************************
  76. ///////////////////////////////////////////////////////////////////////////////////////
  77. [
  78. object,
  79. uuid(B0EDF162-910A-11D2-B632-00C04F79498E),
  80. dual,
  81. hidden,
  82. nonextensible,
  83. helpstring("MS Video Control Interface"),
  84. pointer_default(unique)
  85. ]
  86. interface IMSVidCtl : IDispatch
  87. {
  88. // stock props
  89. [propget, id(DISPID_AUTOSIZE)]
  90. HRESULT AutoSize([out,retval]VARIANT_BOOL* pbool);
  91. [propput, id(DISPID_AUTOSIZE)]
  92. HRESULT AutoSize([in]VARIANT_BOOL vbool);
  93. [propget, id(DISPID_BACKCOLOR)]
  94. HRESULT BackColor([out,retval]OLE_COLOR* backcolor);
  95. [propput, id(DISPID_BACKCOLOR)]
  96. HRESULT BackColor([in]OLE_COLOR backcolor);
  97. [propget, id(DISPID_ENABLED)]
  98. HRESULT Enabled([out,retval]VARIANT_BOOL* pbool);
  99. [propput, id(DISPID_ENABLED)]
  100. HRESULT Enabled([in]VARIANT_BOOL vbool);
  101. [propget, id(DISPID_TABSTOP)]
  102. HRESULT TabStop([out, retval]VARIANT_BOOL* pbool);
  103. [propput, id(DISPID_TABSTOP)]
  104. HRESULT TabStop([in]VARIANT_BOOL vbool);
  105. [propget, id(DISPID_HWND)]
  106. HRESULT Window([out, retval]HWND* phwnd);
  107. [id(DISPID_REFRESH)]
  108. HRESULT Refresh();
  109. // pseudo video renderer properties/methods that require access to ole container
  110. [propget, id(dispidDisplaySize)]
  111. HRESULT DisplaySize([out,retval]DisplaySizeList *CurrentValue);
  112. [propput, id(dispidDisplaySize)]
  113. HRESULT DisplaySize([in]DisplaySizeList NewValue);
  114. [propget, id(dispidMaintainAspectRatio)]
  115. HRESULT MaintainAspectRatio([out,retval]VARIANT_BOOL *CurrentValue);
  116. [propput, id(dispidMaintainAspectRatio)]
  117. HRESULT MaintainAspectRatio([in]VARIANT_BOOL NewValue);
  118. // non-stock visual propertiies that require coordination/implementation with
  119. // core ctl drawing/painting function
  120. [propget, id(dispidColorKey)]
  121. HRESULT ColorKey([out,retval]OLE_COLOR *CurrentValue);
  122. [propput, id(dispidColorKey)]
  123. HRESULT ColorKey([in]OLE_COLOR NewValue);
  124. // availablee collection
  125. [propget, id(dispidInputs), helpstring("Available Input Devices")] HRESULT InputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  126. [propget, id(dispidOutputs), helpstring("Available Output Devices")] HRESULT OutputsAvailable([in] BSTR CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  127. [propget, id(dispid_Inputs), hidden, restricted, helpstring("Available Input Devices")] HRESULT _InputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidInputDevices * *pVal);
  128. [propget, id(dispid_Outputs), hidden, restricted, helpstring("Available Output Devices")] HRESULT _OutputsAvailable([in] LPCGUID CategoryGuid, [out, retval] IMSVidOutputDevices * *pVal);
  129. [propget, id(dispidVideoRenderers), helpstring("Available Video Renderers")] HRESULT VideoRenderersAvailable([out, retval] IMSVidVideoRendererDevices * *pVal);
  130. [propget, id(dispidAudioRenderers), helpstring("Available Audio Renderers")] HRESULT AudioRenderersAvailable([out, retval] IMSVidAudioRendererDevices * *pVal);
  131. [propget, id(dispidFeatures), helpstring("Available Features")] HRESULT FeaturesAvailable([out, retval] IMSVidFeatures * *pVal);
  132. // current selections
  133. [propget, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([out, retval] IMSVidInputDevice **pVal);
  134. [propput, id(dispidInput), helpstring("Currently Selected Input Device")] HRESULT InputActive([in] IMSVidInputDevice *pVal);
  135. [propget, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([out, retval] IMSVidOutputDevices **pVal);
  136. [propput, id(dispidOutput), helpstring("Currently Selected Output Devices")] HRESULT OutputsActive([in] IMSVidOutputDevices *pVal);
  137. [propget, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([out, retval] IMSVidVideoRenderer **pVal);
  138. [propput, id(dispidVideoRenderer), helpstring("Currently Selected Video Renderer")] HRESULT VideoRendererActive([in] IMSVidVideoRenderer *pVal);
  139. [propget, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([out, retval] IMSVidAudioRenderer **pVal);
  140. [propput, id(dispidAudioRenderer), helpstring("Currently Selected Audio Renderer")] HRESULT AudioRendererActive([in] IMSVidAudioRenderer *pVal);
  141. [propget, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([out, retval] IMSVidFeatures **pVal);
  142. [propput, id(dispidSelectedFeatures), helpstring("Currently Selected Features")] HRESULT FeaturesActive([in] IMSVidFeatures *pVal);
  143. [propget, id(dispidgetState), helpstring("Check the current MSVidCtl state.")] HRESULT State([out, retval]MSVidCtlStateList* lState);
  144. // methods
  145. [id(dispidView), helpstring("Find an input device for viewing the specified item. This may be a string(VT_BSTR) or an object(VT_UNKNOWN).")] HRESULT View([in] VARIANT* v);
  146. [id(dispidBuild), helpstring("Compose the graph")] HRESULT Build();
  147. [id(dispidPause), helpstring("Stop the graph")] HRESULT Pause();
  148. [id(dispidRun), helpstring("Compose the graph if necessary and start it running")] HRESULT Run();
  149. [id(dispidStop), helpstring("Stop the graph")] HRESULT Stop();
  150. [id(dispidDecompose), helpstring("Disassemble the graph(Inverse of Build)")] HRESULT Decompose();
  151. [id(dispidDisableVideo), helpstring("set active video renderer to nothing")] HRESULT DisableVideo();
  152. [id(dispidDisableAudio), helpstring("set active Audio renderer to nothing")] HRESULT DisableAudio();
  153. [id(dispidViewNext), helpstring("Find another input device for viewing the specified item. Works like View except skips current input")] HRESULT ViewNext([in] VARIANT* v);
  154. [propput, id(dispidServiceP), helpstring("Set Service Provider")] HRESULT ServiceProvider([in] IUnknown* pServiceP);
  155. };
  156. ///Added for the mseventbinder
  157. [
  158. object,
  159. dual,
  160. oleautomation,
  161. hidden,
  162. nonextensible,
  163. pointer_default(unique),
  164. uuid(C3A9F406-2222-436D-86D5-BA3229279EFB),
  165. helpstring("IMSEventBinder Interface"),
  166. ]
  167. interface IMSEventBinder : IDispatch {
  168. [id(dispidbind), helpstring("method Bind")] HRESULT Bind([in]LPDISPATCH pEventObject, [in]BSTR EventName, [in]BSTR EventHandler, [out, retval] LONG * CancelID);
  169. [id(dispidunbind), helpstring("method Unbind")] HRESULT Unbind([in]DWORD CancelCookie);
  170. };
  171. #endif // TUNING_MODEL_ONLY
  172. //*****************************************************************************
  173. //*****************************************************************************
  174. //////////////////////////////////////////////////////////////////////////////////////
  175. // Type Library for MS Video Control
  176. //////////////////////////////////////////////////////////////////////////////////////
  177. //*****************************************************************************
  178. //*****************************************************************************
  179. [
  180. uuid(B0EDF154-910A-11D2-B632-00C04F79498E),
  181. version(1.0),
  182. helpstring("MS Video Control 1.0 Type Library")
  183. ]
  184. library MSVidCtlLib
  185. {
  186. importlib("stdole2.tlb");
  187. #ifndef TUNING_MODEL_ONLY
  188. ///////////////////////////////////////////////////////////////////////////////////////
  189. // event interfaces
  190. ///////////////////////////////////////////////////////////////////////////////////////
  191. [
  192. uuid(B0EDF164-910A-11D2-B632-00C04F79498E),
  193. helpstring("MS Video Control Events Interface")
  194. ]
  195. dispinterface _IMSVidCtlEvents
  196. {
  197. properties:
  198. // Event interface has no properties
  199. methods:
  200. [id(DISPID_CLICK)] void Click();
  201. [id(DISPID_DBLCLICK)] void DblClick();
  202. [id(DISPID_KEYDOWN)] void KeyDown(short* KeyCode, short Shift);
  203. [id(DISPID_KEYPRESS)] void KeyPress(short* KeyAscii);
  204. [id(DISPID_KEYUP)] void KeyUp(short* KeyCode, short Shift);
  205. [id(DISPID_MOUSEDOWN)] void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  206. [id(DISPID_MOUSEMOVE)] void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  207. [id(DISPID_MOUSEUP)] void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
  208. [id(DISPID_ERROREVENT)] void Error(short Number, BSTR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, boolean* CancelDisplay);
  209. [id(dispidStateChange)] void StateChange(MSVidCtlStateList PrevState, MSVidCtlStateList CurrState);
  210. };
  211. //*****************************************************************************
  212. ///////////////////////////////////////////////////////////////////////////////////////
  213. // device classes
  214. ///////////////////////////////////////////////////////////////////////////////////////
  215. //*****************************************************************************
  216. // inputs
  217. ///////////////////////////////////////////////////////////////////////////////////////
  218. [
  219. uuid(1C15D484-911D-11d2-B632-00C04F79498E),
  220. helpstring("MS Video Control Analog TV Tuner Device Class")
  221. ]
  222. coclass MSVidAnalogTunerDevice
  223. {
  224. [default] interface IMSVidAnalogTuner;
  225. [default, source] interface IMSVidAnalogTunerEvent;
  226. interface IMSVidGraphSegment;
  227. };
  228. ///////////////////////////////////////////////////////////////////////////////////////
  229. [
  230. uuid(A2E3074E-6C3D-11d3-B653-00C04F79498E),
  231. helpstring("MS Video Control BDA Tuner Device Class")
  232. ]
  233. coclass MSVidBDATunerDevice
  234. {
  235. [default] interface IMSVidTuner;
  236. [default, source] interface IMSVidTunerEvent;
  237. interface IMSVidGraphSegment;
  238. };
  239. ///////////////////////////////////////////////////////////////////////////////////////
  240. [
  241. uuid(37B0353C-A4C8-11d2-B634-00C04F79498E),
  242. helpstring("MS Video Control File Playback Device Class")
  243. ]
  244. coclass MSVidFilePlaybackDevice
  245. {
  246. [default] interface IMSVidFilePlayback;
  247. [default, source] interface IMSVidFilePlaybackEvent;
  248. interface IMSVidGraphSegment;
  249. };
  250. [
  251. uuid(011B3619-FE63-4814-8A84-15A194CE9CE3),
  252. helpstring("MSVidWebDVD Class")
  253. ]
  254. coclass MSVidWebDVD
  255. {
  256. [default] interface IMSVidWebDVD;
  257. [default, source] interface IMSVidWebDVDEvent;
  258. interface IMSVidGraphSegment;
  259. };
  260. [
  261. uuid(FA7C375B-66A7-4280-879D-FD459C84BB02),
  262. helpstring("MSVidWebDVDAdm Class")
  263. ]
  264. coclass MSVidWebDVDAdm
  265. {
  266. [default] interface IMSVidWebDVDAdm;
  267. };
  268. // rendererers
  269. ///////////////////////////////////////////////////////////////////////////////////////
  270. [
  271. uuid(37B03543-A4C8-11d2-B634-00C04F79498E),
  272. helpstring("MS Video Control Video Renderer Class")
  273. ]
  274. coclass MSVidVideoRenderer
  275. {
  276. [default] interface IMSVidVideoRenderer2;
  277. interface IMSVidVideoRenderer;
  278. [default, source] interface IMSVidVideoRendererEvent;
  279. //[default, source] interface IMSVidVideoRendererEvent2;
  280. interface IMSVidGraphSegment;
  281. };
  282. ///////////////////////////////////////////////////////////////////////////////////////
  283. [
  284. uuid(37B03544-A4C8-11d2-B634-00C04F79498E),
  285. helpstring("MS Video Control Audio Renderer Class")
  286. ]
  287. coclass MSVidAudioRenderer
  288. {
  289. [default] interface IMSVidAudioRenderer;
  290. [default, source] interface IMSVidAudioRendererEvent;
  291. interface IMSVidGraphSegment;
  292. };
  293. // Stream Buffer Sink and Source and Playback
  294. ///////////////////////////////////////////////////////////////////////////////////////
  295. [
  296. uuid(9E77AAC4-35E5-42a1-BDC2-8F3FF399847C),
  297. helpstring("MS Video Control Stream Buffer Engine Sink Class")
  298. ]
  299. coclass MSVidStreamBufferSink
  300. {
  301. [default] interface IMSVidStreamBufferSink;
  302. [default, source] interface IMSVidStreamBufferSinkEvent;
  303. interface IMSVidGraphSegment;
  304. };
  305. //////////////////////////////////////////////////////////////////////////////////////
  306. [
  307. uuid(AD8E510D-217F-409b-8076-29C5E73B98E8),
  308. helpstring("MS Video Control Stream Buffer Engine Playback Device Class")
  309. ]
  310. coclass MSVidStreamBufferSource
  311. {
  312. [default] interface IMSVidStreamBufferSource;
  313. [default, source] interface IMSVidStreamBufferSourceEvent;
  314. interface IMSVidGraphSegment;
  315. };
  316. // features
  317. [
  318. uuid(334125C0-77E5-11d3-B653-00C04F79498E),
  319. helpstring("MS Video Control Standard Data Services for Broadcast IP through NDIS stack")
  320. ]
  321. coclass MSVidDataServices
  322. {
  323. interface IMSVidDataServices;
  324. };
  325. [
  326. uuid(BB530C63-D9DF-4b49-9439-63453962E598),
  327. helpstring("MS Video Control Encoder")
  328. ]
  329. coclass MSVidEncoder
  330. {
  331. interface IMSVidEncoder;
  332. };
  333. [
  334. uuid(0149EEDF-D08F-4142-8D73-D23903D21E90),
  335. helpstring("MS Video Control Encoder")
  336. ]
  337. coclass MSVidXDS
  338. {
  339. interface IMSVidXDS;
  340. };
  341. [
  342. uuid(7F9CB14D-48E4-43b6-9346-1AEBC39C64D3),
  343. helpstring("MS Video Control Standard Closed Captioning")
  344. ]
  345. coclass MSVidClosedCaptioning
  346. {
  347. [default] interface IMSVidClosedCaptioning2;
  348. interface IMSVidClosedCaptioning;
  349. };
  350. ///////////////////////////////////////////////////////////////////////////////////////
  351. // control classes
  352. ///////////////////////////////////////////////////////////////////////////////////////
  353. ///////////////////////////////////////////////////////////////////////////////////////
  354. [
  355. uuid(B0EDF163-910A-11D2-B632-00C04F79498E),
  356. control,
  357. helpstring("MS Video Control Class")
  358. ]
  359. coclass MSVidCtl
  360. {
  361. [default] interface IMSVidCtl;
  362. [default, source] dispinterface _IMSVidCtlEvents;
  363. interface IMSVidGraphSegmentContainer;
  364. };
  365. ///////////////////////////////////////////////////////////////////////////////////////
  366. // device collections
  367. ///////////////////////////////////////////////////////////////////////////////////////
  368. [
  369. uuid(C5702CCC-9B79-11d3-B654-00C04F79498E),
  370. helpstring("MS Video Control Input Device Collection Class")
  371. ]
  372. coclass MSVidInputDevices
  373. {
  374. [default] interface IMSVidInputDevices;
  375. };
  376. [
  377. uuid(C5702CCD-9B79-11d3-B654-00C04F79498E),
  378. helpstring("MS Video Control Output Device Collection Class")
  379. ]
  380. coclass MSVidOutputDevices
  381. {
  382. [default] interface IMSVidOutputDevices;
  383. };
  384. [
  385. uuid(C5702CCE-9B79-11d3-B654-00C04F79498E),
  386. helpstring("MS Video Control Video Renderer Device Collection Class")
  387. ]
  388. coclass MSVidVideoRendererDevices
  389. {
  390. [default] interface IMSVidVideoRendererDevices;
  391. };
  392. [
  393. uuid(C5702CCF-9B79-11d3-B654-00C04F79498E),
  394. helpstring("MS Video Control Audio Renderer Device Collection Class")
  395. ]
  396. coclass MSVidAudioRendererDevices
  397. {
  398. [default] interface IMSVidAudioRendererDevices;
  399. };
  400. [
  401. uuid(C5702CD0-9B79-11d3-B654-00C04F79498E),
  402. helpstring("MS Video Control Feature Collection Class")
  403. ]
  404. coclass MSVidFeatures
  405. {
  406. [default] interface IMSVidFeatures;
  407. };
  408. ///////////////////////////////////////////////////////////////////////////////////////
  409. // composites
  410. ///////////////////////////////////////////////////////////////////////////////////////
  411. [
  412. uuid(2764BCE5-CC39-11D2-B639-00C04F79498E),
  413. helpstring("MS Video Control Generic Composition Class")
  414. ]
  415. coclass MSVidGenericComposite
  416. {
  417. interface IMSVidCompositionSegment;
  418. };
  419. [
  420. uuid(E18AF75A-08AF-11d3-B64A-00C04F79498E),
  421. helpstring("MS Video Control Custom Composition for Analog Capture to Overlay Mixer")
  422. ]
  423. coclass MSVidAnalogCaptureToOverlayMixer
  424. {
  425. interface IMSVidCompositionSegment;
  426. };
  427. [
  428. uuid(C5702CD6-9B79-11d3-B654-00C04F79498E),
  429. helpstring("MS Video Control Custom Composition for Analog Capture to Data Services")
  430. ]
  431. coclass MSVidAnalogCaptureToDataServices
  432. {
  433. interface IMSVidCompositionSegment;
  434. };
  435. [
  436. uuid(267db0b3-55e3-4902-949b-df8f5cec0191),
  437. helpstring("MS Video Control Custom Composition for WebDVD to Overlay Mixer")
  438. ]
  439. coclass MSVidWebDVDToVideoRenderer
  440. {
  441. interface IMSVidCompositionSegment;
  442. };
  443. [
  444. uuid(8D04238E-9FD1-41c6-8DE3-9E1EE309E935),
  445. helpstring("MS Video Control Custom Composition for WebDVD to Audio Renderer")
  446. ]
  447. coclass MSVidWebDVDToAudioRenderer
  448. {
  449. interface IMSVidCompositionSegment;
  450. };
  451. [
  452. uuid(6AD28EE1-5002-4e71-AAF7-BD077907B1A4),
  453. helpstring("MS Video Control Custom Composition for Mpeg2 Decoder to Closed Captioning")
  454. ]
  455. coclass MSVidMPEG2DecoderToClosedCaptioning
  456. {
  457. interface IMSVidCompositionSegment;
  458. };
  459. [
  460. uuid(9F50E8B1-9530-4ddc-825E-1AF81D47AED6),
  461. helpstring("MS Video Control Custom Composition for Analog Capture to Stream Buffer Sink")
  462. ]
  463. coclass MSVidAnalogCaptureToStreamBufferSink
  464. {
  465. interface IMSVidCompositionSegment;
  466. };
  467. [
  468. uuid(ABE40035-27C3-4a2f-8153-6624471608AF),
  469. helpstring("MS Video Control Custom Composition for Digital Capture to Stream Buffer Sink")
  470. ]
  471. coclass MSVidDigitalCaptureToStreamBufferSink
  472. {
  473. interface IMSVidCompositionSegment;
  474. };
  475. [
  476. uuid(38F03426-E83B-4e68-B65B-DCAE73304838),
  477. helpstring("MS Video Control Custom Composition for Data Services to Stream Buffer Sink")
  478. ]
  479. coclass MSVidDataServicesToStreamBufferSink
  480. {
  481. interface IMSVidCompositionSegment;
  482. };
  483. [
  484. uuid(0429EC6E-1144-4bed-B88B-2FB9899A4A3D),
  485. helpstring("MS Video Control Custom Composition for DataServices To XDS")
  486. ]
  487. coclass MSVidDataServicesToXDS
  488. {
  489. interface IMSVidCompositionSegment;
  490. };
  491. [
  492. uuid(A0B9B497-AFBC-45ad-A8A6-9B077C40D4F2),
  493. helpstring("MS Video Control Custom Composition for Encoder to Stream Buffer Sink")
  494. ]
  495. coclass MSVidEncoderToStreamBufferSink
  496. {
  497. interface IMSVidCompositionSegment;
  498. };
  499. [
  500. uuid(B401C5EB-8457-427f-84EA-A4D2363364B0),
  501. helpstring("MS Video Control Custom Composition for File Playback to Video Renderer")
  502. ]
  503. coclass MSVidFilePlaybackToVideoRenderer
  504. {
  505. interface IMSVidCompositionSegment;
  506. };
  507. [
  508. uuid(CC23F537-18D4-4ece-93BD-207A84726979),
  509. helpstring("MS Video Control Custom Composition for File Playback to Audio Renderer")
  510. ]
  511. coclass MSVidFilePlaybackToAudioRenderer
  512. {
  513. interface IMSVidCompositionSegment;
  514. };
  515. [
  516. uuid(28953661-0231-41db-8986-21FF4388EE9B),
  517. helpstring("MS Video Control Custom Composition for TV Tuner to Encoder")
  518. ]
  519. coclass MSVidAnalogTVToEncoder
  520. {
  521. interface IMSVidCompositionSegment;
  522. };
  523. [
  524. uuid(3C4708DC-B181-46a8-8DA8-4AB0371758CD),
  525. helpstring("MS Video Control Custom Composition for SBE Source to Video renderer")
  526. ]
  527. coclass MSVidStreamBufferSourceToVideoRenderer
  528. {
  529. interface IMSVidCompositionSegment;
  530. };
  531. [
  532. uuid(3540D440-5B1D-49cb-821A-E84B8CF065A7),
  533. helpstring("MS Video Control Custom Composition for TV Tuner to XDS")
  534. ]
  535. coclass MSVidAnalogCaptureToXDS
  536. {
  537. interface IMSVidCompositionSegment;
  538. };
  539. [
  540. uuid(9193A8F9-0CBA-400e-AA97-EB4709164576),
  541. helpstring("MS Video Control Custom Composition for Stream Buffer Source to CC")
  542. ]
  543. coclass MSVidSBESourceToCC
  544. {
  545. interface IMSVidCompositionSegment;
  546. };
  547. ///////////////////////////////////////////////////////////////////////////////////////
  548. // Miscellaneous
  549. ///////////////////////////////////////////////////////////////////////////////////////
  550. // Events
  551. [
  552. uuid(577FAA18-4518-445E-8F70-1473F8CF4BA4),
  553. helpstring("MSEventBinder Class")
  554. ]
  555. coclass MSEventBinder
  556. {
  557. [default] interface IMSEventBinder;
  558. };
  559. [
  560. uuid(CAAFDD83-CEFC-4e3d-BA03-175F17A24F91),
  561. helpstring("MSVidStreamBufferRecordingControl")
  562. ]
  563. coclass MSVidStreamBufferRecordingControl
  564. {
  565. [default] interface IMSVidStreamBufferRecordingControl;
  566. };
  567. // vidrect class
  568. [
  569. hidden, restricted,
  570. uuid(CB4276E6-7D5F-4cf1-9727-629C5E6DB6AE),
  571. helpstring("Automation compliant scalable rectangle Class")
  572. ]
  573. coclass MSVidRect
  574. {
  575. [default] interface IMSVidRect;
  576. };
  577. // NOTE: there is no object factory for the following classes.
  578. // the implementation for the underlying code is a c++ abstract base class.
  579. // this coclass is only provided here to force vb to expose the base interface
  580. // to enable polymorphic access to derived objects
  581. [
  582. hidden, restricted,
  583. uuid(6E40476F-9C49-4c3e-8BB9-8587958EFF74),
  584. helpstring("dummy class to expose base interface to VB")
  585. ]
  586. coclass MSVidDevice
  587. {
  588. [default] interface IMSVidDevice;
  589. };
  590. [
  591. hidden, restricted,
  592. uuid(AC1972F2-138A-4ca3-90DA-AE51112EDA28),
  593. helpstring("dummy class to expose base interface to VB")
  594. ]
  595. coclass MSVidInputDevice
  596. {
  597. [default] interface IMSVidInputDevice;
  598. };
  599. [
  600. hidden, restricted,
  601. uuid(95F4820B-BB3A-4e2d-BC64-5B817BC2C30E),
  602. helpstring("dummy class to expose base interface to VB")
  603. ]
  604. coclass MSVidVideoInputDevice
  605. {
  606. [default] interface IMSVidVideoInputDevice;
  607. };
  608. [
  609. hidden, restricted,
  610. uuid(1990D634-1A5E-4071-A34A-53AAFFCE9F36),
  611. helpstring("dummy class to expose base interface to VB")
  612. ]
  613. coclass MSVidVideoPlaybackDevice
  614. {
  615. [default] interface IMSVidPlayback;
  616. };
  617. [
  618. hidden, restricted,
  619. uuid(7748530B-C08A-47ea-B24C-BE8695FF405F),
  620. helpstring("dummy class to expose base interface to VB")
  621. ]
  622. coclass MSVidFeature
  623. {
  624. [default] interface IMSVidFeature;
  625. };
  626. [
  627. hidden, restricted,
  628. uuid(87EB890D-03AD-4e9d-9866-376E5EC572ED),
  629. helpstring("dummy class to expose base interface to VB")
  630. ]
  631. coclass MSVidOutput
  632. {
  633. [default] interface IMSVidOutputDevice;
  634. };
  635. #endif //TUNING_MODEL_ONLY
  636. };
  637. // end of file msvidctl.idl