qedit.h 95 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716
  1. /*** Autogenerated by WIDL 7.7 from include/qedit.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __qedit_h__
  14. #define __qedit_h__
  15. /* Forward declarations */
  16. #ifndef __ISampleGrabberCB_FWD_DEFINED__
  17. #define __ISampleGrabberCB_FWD_DEFINED__
  18. typedef interface ISampleGrabberCB ISampleGrabberCB;
  19. #ifdef __cplusplus
  20. interface ISampleGrabberCB;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __ISampleGrabber_FWD_DEFINED__
  24. #define __ISampleGrabber_FWD_DEFINED__
  25. typedef interface ISampleGrabber ISampleGrabber;
  26. #ifdef __cplusplus
  27. interface ISampleGrabber;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IMediaDet_FWD_DEFINED__
  31. #define __IMediaDet_FWD_DEFINED__
  32. typedef interface IMediaDet IMediaDet;
  33. #ifdef __cplusplus
  34. interface IMediaDet;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __MediaDet_FWD_DEFINED__
  38. #define __MediaDet_FWD_DEFINED__
  39. #ifdef __cplusplus
  40. typedef class MediaDet MediaDet;
  41. #else
  42. typedef struct MediaDet MediaDet;
  43. #endif /* defined __cplusplus */
  44. #endif /* defined __MediaDet_FWD_DEFINED__ */
  45. #ifndef __IMediaLocator_FWD_DEFINED__
  46. #define __IMediaLocator_FWD_DEFINED__
  47. typedef interface IMediaLocator IMediaLocator;
  48. #ifdef __cplusplus
  49. interface IMediaLocator;
  50. #endif /* __cplusplus */
  51. #endif
  52. #ifndef __IPropertySetter_FWD_DEFINED__
  53. #define __IPropertySetter_FWD_DEFINED__
  54. typedef interface IPropertySetter IPropertySetter;
  55. #ifdef __cplusplus
  56. interface IPropertySetter;
  57. #endif /* __cplusplus */
  58. #endif
  59. #ifndef __IAMErrorLog_FWD_DEFINED__
  60. #define __IAMErrorLog_FWD_DEFINED__
  61. typedef interface IAMErrorLog IAMErrorLog;
  62. #ifdef __cplusplus
  63. interface IAMErrorLog;
  64. #endif /* __cplusplus */
  65. #endif
  66. #ifndef __IAMSetErrorLog_FWD_DEFINED__
  67. #define __IAMSetErrorLog_FWD_DEFINED__
  68. typedef interface IAMSetErrorLog IAMSetErrorLog;
  69. #ifdef __cplusplus
  70. interface IAMSetErrorLog;
  71. #endif /* __cplusplus */
  72. #endif
  73. #ifndef __IAMTimeline_FWD_DEFINED__
  74. #define __IAMTimeline_FWD_DEFINED__
  75. typedef interface IAMTimeline IAMTimeline;
  76. #ifdef __cplusplus
  77. interface IAMTimeline;
  78. #endif /* __cplusplus */
  79. #endif
  80. #ifndef __AMTimeline_FWD_DEFINED__
  81. #define __AMTimeline_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class AMTimeline AMTimeline;
  84. #else
  85. typedef struct AMTimeline AMTimeline;
  86. #endif /* defined __cplusplus */
  87. #endif /* defined __AMTimeline_FWD_DEFINED__ */
  88. #ifndef __IAMTimelineGroup_FWD_DEFINED__
  89. #define __IAMTimelineGroup_FWD_DEFINED__
  90. typedef interface IAMTimelineGroup IAMTimelineGroup;
  91. #ifdef __cplusplus
  92. interface IAMTimelineGroup;
  93. #endif /* __cplusplus */
  94. #endif
  95. #ifndef __IAMTimelineObj_FWD_DEFINED__
  96. #define __IAMTimelineObj_FWD_DEFINED__
  97. typedef interface IAMTimelineObj IAMTimelineObj;
  98. #ifdef __cplusplus
  99. interface IAMTimelineObj;
  100. #endif /* __cplusplus */
  101. #endif
  102. #ifndef __IAMTimelineSrc_FWD_DEFINED__
  103. #define __IAMTimelineSrc_FWD_DEFINED__
  104. typedef interface IAMTimelineSrc IAMTimelineSrc;
  105. #ifdef __cplusplus
  106. interface IAMTimelineSrc;
  107. #endif /* __cplusplus */
  108. #endif
  109. /* Headers for imported files */
  110. #include <oaidl.h>
  111. #include <ocidl.h>
  112. #include <amstream.h>
  113. #include <msxml.h>
  114. #ifdef __cplusplus
  115. extern "C" {
  116. #endif
  117. /*****************************************************************************
  118. * ISampleGrabberCB interface
  119. */
  120. #ifndef __ISampleGrabberCB_INTERFACE_DEFINED__
  121. #define __ISampleGrabberCB_INTERFACE_DEFINED__
  122. DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85);
  123. #if defined(__cplusplus) && !defined(CINTERFACE)
  124. MIDL_INTERFACE("0579154a-2b53-4994-b0d0-e773148eff85")
  125. ISampleGrabberCB : public IUnknown
  126. {
  127. virtual HRESULT STDMETHODCALLTYPE SampleCB(
  128. double SampleTime,
  129. IMediaSample *pSample) = 0;
  130. virtual HRESULT STDMETHODCALLTYPE BufferCB(
  131. double SampleTime,
  132. BYTE *pBuffer,
  133. LONG BufferLen) = 0;
  134. };
  135. #ifdef __CRT_UUID_DECL
  136. __CRT_UUID_DECL(ISampleGrabberCB, 0x0579154a, 0x2b53, 0x4994, 0xb0,0xd0, 0xe7,0x73,0x14,0x8e,0xff,0x85)
  137. #endif
  138. #else
  139. typedef struct ISampleGrabberCBVtbl {
  140. BEGIN_INTERFACE
  141. /*** IUnknown methods ***/
  142. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  143. ISampleGrabberCB *This,
  144. REFIID riid,
  145. void **ppvObject);
  146. ULONG (STDMETHODCALLTYPE *AddRef)(
  147. ISampleGrabberCB *This);
  148. ULONG (STDMETHODCALLTYPE *Release)(
  149. ISampleGrabberCB *This);
  150. /*** ISampleGrabberCB methods ***/
  151. HRESULT (STDMETHODCALLTYPE *SampleCB)(
  152. ISampleGrabberCB *This,
  153. double SampleTime,
  154. IMediaSample *pSample);
  155. HRESULT (STDMETHODCALLTYPE *BufferCB)(
  156. ISampleGrabberCB *This,
  157. double SampleTime,
  158. BYTE *pBuffer,
  159. LONG BufferLen);
  160. END_INTERFACE
  161. } ISampleGrabberCBVtbl;
  162. interface ISampleGrabberCB {
  163. CONST_VTBL ISampleGrabberCBVtbl* lpVtbl;
  164. };
  165. #ifdef COBJMACROS
  166. #ifndef WIDL_C_INLINE_WRAPPERS
  167. /*** IUnknown methods ***/
  168. #define ISampleGrabberCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  169. #define ISampleGrabberCB_AddRef(This) (This)->lpVtbl->AddRef(This)
  170. #define ISampleGrabberCB_Release(This) (This)->lpVtbl->Release(This)
  171. /*** ISampleGrabberCB methods ***/
  172. #define ISampleGrabberCB_SampleCB(This,SampleTime,pSample) (This)->lpVtbl->SampleCB(This,SampleTime,pSample)
  173. #define ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen) (This)->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen)
  174. #else
  175. /*** IUnknown methods ***/
  176. static FORCEINLINE HRESULT ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID riid,void **ppvObject) {
  177. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  178. }
  179. static FORCEINLINE ULONG ISampleGrabberCB_AddRef(ISampleGrabberCB* This) {
  180. return This->lpVtbl->AddRef(This);
  181. }
  182. static FORCEINLINE ULONG ISampleGrabberCB_Release(ISampleGrabberCB* This) {
  183. return This->lpVtbl->Release(This);
  184. }
  185. /*** ISampleGrabberCB methods ***/
  186. static FORCEINLINE HRESULT ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double SampleTime,IMediaSample *pSample) {
  187. return This->lpVtbl->SampleCB(This,SampleTime,pSample);
  188. }
  189. static FORCEINLINE HRESULT ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double SampleTime,BYTE *pBuffer,LONG BufferLen) {
  190. return This->lpVtbl->BufferCB(This,SampleTime,pBuffer,BufferLen);
  191. }
  192. #endif
  193. #endif
  194. #endif
  195. #endif /* __ISampleGrabberCB_INTERFACE_DEFINED__ */
  196. /*****************************************************************************
  197. * ISampleGrabber interface
  198. */
  199. #ifndef __ISampleGrabber_INTERFACE_DEFINED__
  200. #define __ISampleGrabber_INTERFACE_DEFINED__
  201. DEFINE_GUID(IID_ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f);
  202. #if defined(__cplusplus) && !defined(CINTERFACE)
  203. MIDL_INTERFACE("6b652fff-11fe-4fce-92ad-0266b5d7c78f")
  204. ISampleGrabber : public IUnknown
  205. {
  206. virtual HRESULT STDMETHODCALLTYPE SetOneShot(
  207. WINBOOL OneShot) = 0;
  208. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  209. const AM_MEDIA_TYPE *pType) = 0;
  210. virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType(
  211. AM_MEDIA_TYPE *pType) = 0;
  212. virtual HRESULT STDMETHODCALLTYPE SetBufferSamples(
  213. WINBOOL BufferThem) = 0;
  214. virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer(
  215. LONG *pBufferSize,
  216. LONG *pBuffer) = 0;
  217. virtual HRESULT STDMETHODCALLTYPE GetCurrentSample(
  218. IMediaSample **ppSample) = 0;
  219. virtual HRESULT STDMETHODCALLTYPE SetCallback(
  220. ISampleGrabberCB *pCallback,
  221. LONG WhichMethodToCallback) = 0;
  222. };
  223. #ifdef __CRT_UUID_DECL
  224. __CRT_UUID_DECL(ISampleGrabber, 0x6b652fff, 0x11fe, 0x4fce, 0x92,0xad, 0x02,0x66,0xb5,0xd7,0xc7,0x8f)
  225. #endif
  226. #else
  227. typedef struct ISampleGrabberVtbl {
  228. BEGIN_INTERFACE
  229. /*** IUnknown methods ***/
  230. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  231. ISampleGrabber *This,
  232. REFIID riid,
  233. void **ppvObject);
  234. ULONG (STDMETHODCALLTYPE *AddRef)(
  235. ISampleGrabber *This);
  236. ULONG (STDMETHODCALLTYPE *Release)(
  237. ISampleGrabber *This);
  238. /*** ISampleGrabber methods ***/
  239. HRESULT (STDMETHODCALLTYPE *SetOneShot)(
  240. ISampleGrabber *This,
  241. WINBOOL OneShot);
  242. HRESULT (STDMETHODCALLTYPE *SetMediaType)(
  243. ISampleGrabber *This,
  244. const AM_MEDIA_TYPE *pType);
  245. HRESULT (STDMETHODCALLTYPE *GetConnectedMediaType)(
  246. ISampleGrabber *This,
  247. AM_MEDIA_TYPE *pType);
  248. HRESULT (STDMETHODCALLTYPE *SetBufferSamples)(
  249. ISampleGrabber *This,
  250. WINBOOL BufferThem);
  251. HRESULT (STDMETHODCALLTYPE *GetCurrentBuffer)(
  252. ISampleGrabber *This,
  253. LONG *pBufferSize,
  254. LONG *pBuffer);
  255. HRESULT (STDMETHODCALLTYPE *GetCurrentSample)(
  256. ISampleGrabber *This,
  257. IMediaSample **ppSample);
  258. HRESULT (STDMETHODCALLTYPE *SetCallback)(
  259. ISampleGrabber *This,
  260. ISampleGrabberCB *pCallback,
  261. LONG WhichMethodToCallback);
  262. END_INTERFACE
  263. } ISampleGrabberVtbl;
  264. interface ISampleGrabber {
  265. CONST_VTBL ISampleGrabberVtbl* lpVtbl;
  266. };
  267. #ifdef COBJMACROS
  268. #ifndef WIDL_C_INLINE_WRAPPERS
  269. /*** IUnknown methods ***/
  270. #define ISampleGrabber_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  271. #define ISampleGrabber_AddRef(This) (This)->lpVtbl->AddRef(This)
  272. #define ISampleGrabber_Release(This) (This)->lpVtbl->Release(This)
  273. /*** ISampleGrabber methods ***/
  274. #define ISampleGrabber_SetOneShot(This,OneShot) (This)->lpVtbl->SetOneShot(This,OneShot)
  275. #define ISampleGrabber_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
  276. #define ISampleGrabber_GetConnectedMediaType(This,pType) (This)->lpVtbl->GetConnectedMediaType(This,pType)
  277. #define ISampleGrabber_SetBufferSamples(This,BufferThem) (This)->lpVtbl->SetBufferSamples(This,BufferThem)
  278. #define ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer) (This)->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer)
  279. #define ISampleGrabber_GetCurrentSample(This,ppSample) (This)->lpVtbl->GetCurrentSample(This,ppSample)
  280. #define ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback) (This)->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback)
  281. #else
  282. /*** IUnknown methods ***/
  283. static FORCEINLINE HRESULT ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID riid,void **ppvObject) {
  284. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  285. }
  286. static FORCEINLINE ULONG ISampleGrabber_AddRef(ISampleGrabber* This) {
  287. return This->lpVtbl->AddRef(This);
  288. }
  289. static FORCEINLINE ULONG ISampleGrabber_Release(ISampleGrabber* This) {
  290. return This->lpVtbl->Release(This);
  291. }
  292. /*** ISampleGrabber methods ***/
  293. static FORCEINLINE HRESULT ISampleGrabber_SetOneShot(ISampleGrabber* This,WINBOOL OneShot) {
  294. return This->lpVtbl->SetOneShot(This,OneShot);
  295. }
  296. static FORCEINLINE HRESULT ISampleGrabber_SetMediaType(ISampleGrabber* This,const AM_MEDIA_TYPE *pType) {
  297. return This->lpVtbl->SetMediaType(This,pType);
  298. }
  299. static FORCEINLINE HRESULT ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE *pType) {
  300. return This->lpVtbl->GetConnectedMediaType(This,pType);
  301. }
  302. static FORCEINLINE HRESULT ISampleGrabber_SetBufferSamples(ISampleGrabber* This,WINBOOL BufferThem) {
  303. return This->lpVtbl->SetBufferSamples(This,BufferThem);
  304. }
  305. static FORCEINLINE HRESULT ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG *pBufferSize,LONG *pBuffer) {
  306. return This->lpVtbl->GetCurrentBuffer(This,pBufferSize,pBuffer);
  307. }
  308. static FORCEINLINE HRESULT ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample **ppSample) {
  309. return This->lpVtbl->GetCurrentSample(This,ppSample);
  310. }
  311. static FORCEINLINE HRESULT ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB *pCallback,LONG WhichMethodToCallback) {
  312. return This->lpVtbl->SetCallback(This,pCallback,WhichMethodToCallback);
  313. }
  314. #endif
  315. #endif
  316. #endif
  317. #endif /* __ISampleGrabber_INTERFACE_DEFINED__ */
  318. /*****************************************************************************
  319. * IMediaDet interface
  320. */
  321. #ifndef __IMediaDet_INTERFACE_DEFINED__
  322. #define __IMediaDet_INTERFACE_DEFINED__
  323. DEFINE_GUID(IID_IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
  324. #if defined(__cplusplus) && !defined(CINTERFACE)
  325. MIDL_INTERFACE("65bd0710-24d2-4ff7-9324-ed2e5d3abafa")
  326. IMediaDet : public IUnknown
  327. {
  328. virtual HRESULT STDMETHODCALLTYPE get_Filter(
  329. IUnknown **pVal) = 0;
  330. virtual HRESULT STDMETHODCALLTYPE put_Filter(
  331. IUnknown *newVal) = 0;
  332. virtual HRESULT STDMETHODCALLTYPE get_OutputStreams(
  333. LONG *pVal) = 0;
  334. virtual HRESULT STDMETHODCALLTYPE get_CurrentStream(
  335. LONG *pVal) = 0;
  336. virtual HRESULT STDMETHODCALLTYPE put_CurrentStream(
  337. LONG newVal) = 0;
  338. virtual HRESULT STDMETHODCALLTYPE get_StreamType(
  339. GUID *pVal) = 0;
  340. virtual HRESULT STDMETHODCALLTYPE get_StreamTypeB(
  341. BSTR *pVal) = 0;
  342. virtual HRESULT STDMETHODCALLTYPE get_StreamLength(
  343. double *pVal) = 0;
  344. virtual HRESULT STDMETHODCALLTYPE get_Filename(
  345. BSTR *pVal) = 0;
  346. virtual HRESULT STDMETHODCALLTYPE put_Filename(
  347. BSTR newVal) = 0;
  348. virtual HRESULT STDMETHODCALLTYPE GetBitmapBits(
  349. double StreamTime,
  350. LONG *pBufferSize,
  351. char *pBuffer,
  352. LONG Width,
  353. LONG Height) = 0;
  354. virtual HRESULT STDMETHODCALLTYPE WriteBitmapBits(
  355. double StreamTime,
  356. LONG Width,
  357. LONG Height,
  358. BSTR Filename) = 0;
  359. virtual HRESULT STDMETHODCALLTYPE get_StreamMediaType(
  360. AM_MEDIA_TYPE *pVal) = 0;
  361. virtual HRESULT STDMETHODCALLTYPE GetSampleGrabber(
  362. ISampleGrabber **ppVal) = 0;
  363. virtual HRESULT STDMETHODCALLTYPE get_FrameRate(
  364. double *pVal) = 0;
  365. virtual HRESULT STDMETHODCALLTYPE EnterBitmapGrabMode(
  366. double SeekTime) = 0;
  367. };
  368. #ifdef __CRT_UUID_DECL
  369. __CRT_UUID_DECL(IMediaDet, 0x65bd0710, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
  370. #endif
  371. #else
  372. typedef struct IMediaDetVtbl {
  373. BEGIN_INTERFACE
  374. /*** IUnknown methods ***/
  375. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  376. IMediaDet *This,
  377. REFIID riid,
  378. void **ppvObject);
  379. ULONG (STDMETHODCALLTYPE *AddRef)(
  380. IMediaDet *This);
  381. ULONG (STDMETHODCALLTYPE *Release)(
  382. IMediaDet *This);
  383. /*** IMediaDet methods ***/
  384. HRESULT (STDMETHODCALLTYPE *get_Filter)(
  385. IMediaDet *This,
  386. IUnknown **pVal);
  387. HRESULT (STDMETHODCALLTYPE *put_Filter)(
  388. IMediaDet *This,
  389. IUnknown *newVal);
  390. HRESULT (STDMETHODCALLTYPE *get_OutputStreams)(
  391. IMediaDet *This,
  392. LONG *pVal);
  393. HRESULT (STDMETHODCALLTYPE *get_CurrentStream)(
  394. IMediaDet *This,
  395. LONG *pVal);
  396. HRESULT (STDMETHODCALLTYPE *put_CurrentStream)(
  397. IMediaDet *This,
  398. LONG newVal);
  399. HRESULT (STDMETHODCALLTYPE *get_StreamType)(
  400. IMediaDet *This,
  401. GUID *pVal);
  402. HRESULT (STDMETHODCALLTYPE *get_StreamTypeB)(
  403. IMediaDet *This,
  404. BSTR *pVal);
  405. HRESULT (STDMETHODCALLTYPE *get_StreamLength)(
  406. IMediaDet *This,
  407. double *pVal);
  408. HRESULT (STDMETHODCALLTYPE *get_Filename)(
  409. IMediaDet *This,
  410. BSTR *pVal);
  411. HRESULT (STDMETHODCALLTYPE *put_Filename)(
  412. IMediaDet *This,
  413. BSTR newVal);
  414. HRESULT (STDMETHODCALLTYPE *GetBitmapBits)(
  415. IMediaDet *This,
  416. double StreamTime,
  417. LONG *pBufferSize,
  418. char *pBuffer,
  419. LONG Width,
  420. LONG Height);
  421. HRESULT (STDMETHODCALLTYPE *WriteBitmapBits)(
  422. IMediaDet *This,
  423. double StreamTime,
  424. LONG Width,
  425. LONG Height,
  426. BSTR Filename);
  427. HRESULT (STDMETHODCALLTYPE *get_StreamMediaType)(
  428. IMediaDet *This,
  429. AM_MEDIA_TYPE *pVal);
  430. HRESULT (STDMETHODCALLTYPE *GetSampleGrabber)(
  431. IMediaDet *This,
  432. ISampleGrabber **ppVal);
  433. HRESULT (STDMETHODCALLTYPE *get_FrameRate)(
  434. IMediaDet *This,
  435. double *pVal);
  436. HRESULT (STDMETHODCALLTYPE *EnterBitmapGrabMode)(
  437. IMediaDet *This,
  438. double SeekTime);
  439. END_INTERFACE
  440. } IMediaDetVtbl;
  441. interface IMediaDet {
  442. CONST_VTBL IMediaDetVtbl* lpVtbl;
  443. };
  444. #ifdef COBJMACROS
  445. #ifndef WIDL_C_INLINE_WRAPPERS
  446. /*** IUnknown methods ***/
  447. #define IMediaDet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  448. #define IMediaDet_AddRef(This) (This)->lpVtbl->AddRef(This)
  449. #define IMediaDet_Release(This) (This)->lpVtbl->Release(This)
  450. /*** IMediaDet methods ***/
  451. #define IMediaDet_get_Filter(This,pVal) (This)->lpVtbl->get_Filter(This,pVal)
  452. #define IMediaDet_put_Filter(This,newVal) (This)->lpVtbl->put_Filter(This,newVal)
  453. #define IMediaDet_get_OutputStreams(This,pVal) (This)->lpVtbl->get_OutputStreams(This,pVal)
  454. #define IMediaDet_get_CurrentStream(This,pVal) (This)->lpVtbl->get_CurrentStream(This,pVal)
  455. #define IMediaDet_put_CurrentStream(This,newVal) (This)->lpVtbl->put_CurrentStream(This,newVal)
  456. #define IMediaDet_get_StreamType(This,pVal) (This)->lpVtbl->get_StreamType(This,pVal)
  457. #define IMediaDet_get_StreamTypeB(This,pVal) (This)->lpVtbl->get_StreamTypeB(This,pVal)
  458. #define IMediaDet_get_StreamLength(This,pVal) (This)->lpVtbl->get_StreamLength(This,pVal)
  459. #define IMediaDet_get_Filename(This,pVal) (This)->lpVtbl->get_Filename(This,pVal)
  460. #define IMediaDet_put_Filename(This,newVal) (This)->lpVtbl->put_Filename(This,newVal)
  461. #define IMediaDet_GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height) (This)->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height)
  462. #define IMediaDet_WriteBitmapBits(This,StreamTime,Width,Height,Filename) (This)->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename)
  463. #define IMediaDet_get_StreamMediaType(This,pVal) (This)->lpVtbl->get_StreamMediaType(This,pVal)
  464. #define IMediaDet_GetSampleGrabber(This,ppVal) (This)->lpVtbl->GetSampleGrabber(This,ppVal)
  465. #define IMediaDet_get_FrameRate(This,pVal) (This)->lpVtbl->get_FrameRate(This,pVal)
  466. #define IMediaDet_EnterBitmapGrabMode(This,SeekTime) (This)->lpVtbl->EnterBitmapGrabMode(This,SeekTime)
  467. #else
  468. /*** IUnknown methods ***/
  469. static FORCEINLINE HRESULT IMediaDet_QueryInterface(IMediaDet* This,REFIID riid,void **ppvObject) {
  470. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  471. }
  472. static FORCEINLINE ULONG IMediaDet_AddRef(IMediaDet* This) {
  473. return This->lpVtbl->AddRef(This);
  474. }
  475. static FORCEINLINE ULONG IMediaDet_Release(IMediaDet* This) {
  476. return This->lpVtbl->Release(This);
  477. }
  478. /*** IMediaDet methods ***/
  479. static FORCEINLINE HRESULT IMediaDet_get_Filter(IMediaDet* This,IUnknown **pVal) {
  480. return This->lpVtbl->get_Filter(This,pVal);
  481. }
  482. static FORCEINLINE HRESULT IMediaDet_put_Filter(IMediaDet* This,IUnknown *newVal) {
  483. return This->lpVtbl->put_Filter(This,newVal);
  484. }
  485. static FORCEINLINE HRESULT IMediaDet_get_OutputStreams(IMediaDet* This,LONG *pVal) {
  486. return This->lpVtbl->get_OutputStreams(This,pVal);
  487. }
  488. static FORCEINLINE HRESULT IMediaDet_get_CurrentStream(IMediaDet* This,LONG *pVal) {
  489. return This->lpVtbl->get_CurrentStream(This,pVal);
  490. }
  491. static FORCEINLINE HRESULT IMediaDet_put_CurrentStream(IMediaDet* This,LONG newVal) {
  492. return This->lpVtbl->put_CurrentStream(This,newVal);
  493. }
  494. static FORCEINLINE HRESULT IMediaDet_get_StreamType(IMediaDet* This,GUID *pVal) {
  495. return This->lpVtbl->get_StreamType(This,pVal);
  496. }
  497. static FORCEINLINE HRESULT IMediaDet_get_StreamTypeB(IMediaDet* This,BSTR *pVal) {
  498. return This->lpVtbl->get_StreamTypeB(This,pVal);
  499. }
  500. static FORCEINLINE HRESULT IMediaDet_get_StreamLength(IMediaDet* This,double *pVal) {
  501. return This->lpVtbl->get_StreamLength(This,pVal);
  502. }
  503. static FORCEINLINE HRESULT IMediaDet_get_Filename(IMediaDet* This,BSTR *pVal) {
  504. return This->lpVtbl->get_Filename(This,pVal);
  505. }
  506. static FORCEINLINE HRESULT IMediaDet_put_Filename(IMediaDet* This,BSTR newVal) {
  507. return This->lpVtbl->put_Filename(This,newVal);
  508. }
  509. static FORCEINLINE HRESULT IMediaDet_GetBitmapBits(IMediaDet* This,double StreamTime,LONG *pBufferSize,char *pBuffer,LONG Width,LONG Height) {
  510. return This->lpVtbl->GetBitmapBits(This,StreamTime,pBufferSize,pBuffer,Width,Height);
  511. }
  512. static FORCEINLINE HRESULT IMediaDet_WriteBitmapBits(IMediaDet* This,double StreamTime,LONG Width,LONG Height,BSTR Filename) {
  513. return This->lpVtbl->WriteBitmapBits(This,StreamTime,Width,Height,Filename);
  514. }
  515. static FORCEINLINE HRESULT IMediaDet_get_StreamMediaType(IMediaDet* This,AM_MEDIA_TYPE *pVal) {
  516. return This->lpVtbl->get_StreamMediaType(This,pVal);
  517. }
  518. static FORCEINLINE HRESULT IMediaDet_GetSampleGrabber(IMediaDet* This,ISampleGrabber **ppVal) {
  519. return This->lpVtbl->GetSampleGrabber(This,ppVal);
  520. }
  521. static FORCEINLINE HRESULT IMediaDet_get_FrameRate(IMediaDet* This,double *pVal) {
  522. return This->lpVtbl->get_FrameRate(This,pVal);
  523. }
  524. static FORCEINLINE HRESULT IMediaDet_EnterBitmapGrabMode(IMediaDet* This,double SeekTime) {
  525. return This->lpVtbl->EnterBitmapGrabMode(This,SeekTime);
  526. }
  527. #endif
  528. #endif
  529. #endif
  530. #endif /* __IMediaDet_INTERFACE_DEFINED__ */
  531. /*****************************************************************************
  532. * MediaDet coclass
  533. */
  534. DEFINE_GUID(CLSID_MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa);
  535. #ifdef __cplusplus
  536. class DECLSPEC_UUID("65bd0711-24d2-4ff7-9324-ed2e5d3abafa") MediaDet;
  537. #ifdef __CRT_UUID_DECL
  538. __CRT_UUID_DECL(MediaDet, 0x65bd0711, 0x24d2, 0x4ff7, 0x93,0x24, 0xed,0x2e,0x5d,0x3a,0xba,0xfa)
  539. #endif
  540. #endif
  541. /*****************************************************************************
  542. * IMediaLocator interface
  543. */
  544. #ifndef __IMediaLocator_INTERFACE_DEFINED__
  545. #define __IMediaLocator_INTERFACE_DEFINED__
  546. DEFINE_GUID(IID_IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
  547. #if defined(__cplusplus) && !defined(CINTERFACE)
  548. MIDL_INTERFACE("288581e0-66ce-11d2-918f-00c0df10d434")
  549. IMediaLocator : public IUnknown
  550. {
  551. virtual HRESULT STDMETHODCALLTYPE FindMediaFile(
  552. BSTR input,
  553. BSTR filter,
  554. BSTR *output,
  555. LONG flags) = 0;
  556. virtual HRESULT STDMETHODCALLTYPE AddFoundLocation(
  557. BSTR dir) = 0;
  558. };
  559. #ifdef __CRT_UUID_DECL
  560. __CRT_UUID_DECL(IMediaLocator, 0x288581e0, 0x66ce, 0x11d2, 0x91,0x8f, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
  561. #endif
  562. #else
  563. typedef struct IMediaLocatorVtbl {
  564. BEGIN_INTERFACE
  565. /*** IUnknown methods ***/
  566. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  567. IMediaLocator *This,
  568. REFIID riid,
  569. void **ppvObject);
  570. ULONG (STDMETHODCALLTYPE *AddRef)(
  571. IMediaLocator *This);
  572. ULONG (STDMETHODCALLTYPE *Release)(
  573. IMediaLocator *This);
  574. /*** IMediaLocator methods ***/
  575. HRESULT (STDMETHODCALLTYPE *FindMediaFile)(
  576. IMediaLocator *This,
  577. BSTR input,
  578. BSTR filter,
  579. BSTR *output,
  580. LONG flags);
  581. HRESULT (STDMETHODCALLTYPE *AddFoundLocation)(
  582. IMediaLocator *This,
  583. BSTR dir);
  584. END_INTERFACE
  585. } IMediaLocatorVtbl;
  586. interface IMediaLocator {
  587. CONST_VTBL IMediaLocatorVtbl* lpVtbl;
  588. };
  589. #ifdef COBJMACROS
  590. #ifndef WIDL_C_INLINE_WRAPPERS
  591. /*** IUnknown methods ***/
  592. #define IMediaLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  593. #define IMediaLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
  594. #define IMediaLocator_Release(This) (This)->lpVtbl->Release(This)
  595. /*** IMediaLocator methods ***/
  596. #define IMediaLocator_FindMediaFile(This,input,filter,output,flags) (This)->lpVtbl->FindMediaFile(This,input,filter,output,flags)
  597. #define IMediaLocator_AddFoundLocation(This,dir) (This)->lpVtbl->AddFoundLocation(This,dir)
  598. #else
  599. /*** IUnknown methods ***/
  600. static FORCEINLINE HRESULT IMediaLocator_QueryInterface(IMediaLocator* This,REFIID riid,void **ppvObject) {
  601. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  602. }
  603. static FORCEINLINE ULONG IMediaLocator_AddRef(IMediaLocator* This) {
  604. return This->lpVtbl->AddRef(This);
  605. }
  606. static FORCEINLINE ULONG IMediaLocator_Release(IMediaLocator* This) {
  607. return This->lpVtbl->Release(This);
  608. }
  609. /*** IMediaLocator methods ***/
  610. static FORCEINLINE HRESULT IMediaLocator_FindMediaFile(IMediaLocator* This,BSTR input,BSTR filter,BSTR *output,LONG flags) {
  611. return This->lpVtbl->FindMediaFile(This,input,filter,output,flags);
  612. }
  613. static FORCEINLINE HRESULT IMediaLocator_AddFoundLocation(IMediaLocator* This,BSTR dir) {
  614. return This->lpVtbl->AddFoundLocation(This,dir);
  615. }
  616. #endif
  617. #endif
  618. #endif
  619. #endif /* __IMediaLocator_INTERFACE_DEFINED__ */
  620. typedef struct __WIDL_qedit_generated_name_0000002B {
  621. BSTR name;
  622. DISPID dispID;
  623. LONG nValues;
  624. } DEXTER_PARAM;
  625. typedef struct __WIDL_qedit_generated_name_0000002C {
  626. VARIANT v;
  627. REFERENCE_TIME rt;
  628. DWORD dwInterp;
  629. } DEXTER_VALUE;
  630. /*****************************************************************************
  631. * IPropertySetter interface
  632. */
  633. #ifndef __IPropertySetter_INTERFACE_DEFINED__
  634. #define __IPropertySetter_INTERFACE_DEFINED__
  635. DEFINE_GUID(IID_IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
  636. #if defined(__cplusplus) && !defined(CINTERFACE)
  637. MIDL_INTERFACE("ae9472bd-b0c3-11d2-8d24-00a0c9441e20")
  638. IPropertySetter : public IUnknown
  639. {
  640. virtual HRESULT STDMETHODCALLTYPE LoadXML(
  641. IUnknown *pxml) = 0;
  642. virtual HRESULT STDMETHODCALLTYPE PrintXML(
  643. char *xml,
  644. int size,
  645. int *printed,
  646. int indent) = 0;
  647. virtual HRESULT STDMETHODCALLTYPE CloneProps(
  648. IPropertySetter **setter,
  649. REFERENCE_TIME start,
  650. REFERENCE_TIME stop) = 0;
  651. virtual HRESULT STDMETHODCALLTYPE AddProp(
  652. DEXTER_PARAM param,
  653. DEXTER_VALUE *value) = 0;
  654. virtual HRESULT STDMETHODCALLTYPE GetProps(
  655. LONG *params,
  656. DEXTER_PARAM **param,
  657. DEXTER_VALUE **value) = 0;
  658. virtual HRESULT STDMETHODCALLTYPE FreeProps(
  659. LONG params,
  660. DEXTER_PARAM *param,
  661. DEXTER_VALUE *value) = 0;
  662. virtual HRESULT STDMETHODCALLTYPE ClearProps(
  663. ) = 0;
  664. virtual HRESULT STDMETHODCALLTYPE SaveToBlob(
  665. LONG *size,
  666. BYTE **blob) = 0;
  667. virtual HRESULT STDMETHODCALLTYPE LoadFromBlob(
  668. LONG size,
  669. BYTE *blob) = 0;
  670. virtual HRESULT STDMETHODCALLTYPE SetProps(
  671. IUnknown *target,
  672. REFERENCE_TIME now) = 0;
  673. };
  674. #ifdef __CRT_UUID_DECL
  675. __CRT_UUID_DECL(IPropertySetter, 0xae9472bd, 0xb0c3, 0x11d2, 0x8d,0x24, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
  676. #endif
  677. #else
  678. typedef struct IPropertySetterVtbl {
  679. BEGIN_INTERFACE
  680. /*** IUnknown methods ***/
  681. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  682. IPropertySetter *This,
  683. REFIID riid,
  684. void **ppvObject);
  685. ULONG (STDMETHODCALLTYPE *AddRef)(
  686. IPropertySetter *This);
  687. ULONG (STDMETHODCALLTYPE *Release)(
  688. IPropertySetter *This);
  689. /*** IPropertySetter methods ***/
  690. HRESULT (STDMETHODCALLTYPE *LoadXML)(
  691. IPropertySetter *This,
  692. IUnknown *pxml);
  693. HRESULT (STDMETHODCALLTYPE *PrintXML)(
  694. IPropertySetter *This,
  695. char *xml,
  696. int size,
  697. int *printed,
  698. int indent);
  699. HRESULT (STDMETHODCALLTYPE *CloneProps)(
  700. IPropertySetter *This,
  701. IPropertySetter **setter,
  702. REFERENCE_TIME start,
  703. REFERENCE_TIME stop);
  704. HRESULT (STDMETHODCALLTYPE *AddProp)(
  705. IPropertySetter *This,
  706. DEXTER_PARAM param,
  707. DEXTER_VALUE *value);
  708. HRESULT (STDMETHODCALLTYPE *GetProps)(
  709. IPropertySetter *This,
  710. LONG *params,
  711. DEXTER_PARAM **param,
  712. DEXTER_VALUE **value);
  713. HRESULT (STDMETHODCALLTYPE *FreeProps)(
  714. IPropertySetter *This,
  715. LONG params,
  716. DEXTER_PARAM *param,
  717. DEXTER_VALUE *value);
  718. HRESULT (STDMETHODCALLTYPE *ClearProps)(
  719. IPropertySetter *This);
  720. HRESULT (STDMETHODCALLTYPE *SaveToBlob)(
  721. IPropertySetter *This,
  722. LONG *size,
  723. BYTE **blob);
  724. HRESULT (STDMETHODCALLTYPE *LoadFromBlob)(
  725. IPropertySetter *This,
  726. LONG size,
  727. BYTE *blob);
  728. HRESULT (STDMETHODCALLTYPE *SetProps)(
  729. IPropertySetter *This,
  730. IUnknown *target,
  731. REFERENCE_TIME now);
  732. END_INTERFACE
  733. } IPropertySetterVtbl;
  734. interface IPropertySetter {
  735. CONST_VTBL IPropertySetterVtbl* lpVtbl;
  736. };
  737. #ifdef COBJMACROS
  738. #ifndef WIDL_C_INLINE_WRAPPERS
  739. /*** IUnknown methods ***/
  740. #define IPropertySetter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  741. #define IPropertySetter_AddRef(This) (This)->lpVtbl->AddRef(This)
  742. #define IPropertySetter_Release(This) (This)->lpVtbl->Release(This)
  743. /*** IPropertySetter methods ***/
  744. #define IPropertySetter_LoadXML(This,pxml) (This)->lpVtbl->LoadXML(This,pxml)
  745. #define IPropertySetter_PrintXML(This,xml,size,printed,indent) (This)->lpVtbl->PrintXML(This,xml,size,printed,indent)
  746. #define IPropertySetter_CloneProps(This,setter,start,stop) (This)->lpVtbl->CloneProps(This,setter,start,stop)
  747. #define IPropertySetter_AddProp(This,param,value) (This)->lpVtbl->AddProp(This,param,value)
  748. #define IPropertySetter_GetProps(This,params,param,value) (This)->lpVtbl->GetProps(This,params,param,value)
  749. #define IPropertySetter_FreeProps(This,params,param,value) (This)->lpVtbl->FreeProps(This,params,param,value)
  750. #define IPropertySetter_ClearProps(This) (This)->lpVtbl->ClearProps(This)
  751. #define IPropertySetter_SaveToBlob(This,size,blob) (This)->lpVtbl->SaveToBlob(This,size,blob)
  752. #define IPropertySetter_LoadFromBlob(This,size,blob) (This)->lpVtbl->LoadFromBlob(This,size,blob)
  753. #define IPropertySetter_SetProps(This,target,now) (This)->lpVtbl->SetProps(This,target,now)
  754. #else
  755. /*** IUnknown methods ***/
  756. static FORCEINLINE HRESULT IPropertySetter_QueryInterface(IPropertySetter* This,REFIID riid,void **ppvObject) {
  757. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  758. }
  759. static FORCEINLINE ULONG IPropertySetter_AddRef(IPropertySetter* This) {
  760. return This->lpVtbl->AddRef(This);
  761. }
  762. static FORCEINLINE ULONG IPropertySetter_Release(IPropertySetter* This) {
  763. return This->lpVtbl->Release(This);
  764. }
  765. /*** IPropertySetter methods ***/
  766. static FORCEINLINE HRESULT IPropertySetter_LoadXML(IPropertySetter* This,IUnknown *pxml) {
  767. return This->lpVtbl->LoadXML(This,pxml);
  768. }
  769. static FORCEINLINE HRESULT IPropertySetter_PrintXML(IPropertySetter* This,char *xml,int size,int *printed,int indent) {
  770. return This->lpVtbl->PrintXML(This,xml,size,printed,indent);
  771. }
  772. static FORCEINLINE HRESULT IPropertySetter_CloneProps(IPropertySetter* This,IPropertySetter **setter,REFERENCE_TIME start,REFERENCE_TIME stop) {
  773. return This->lpVtbl->CloneProps(This,setter,start,stop);
  774. }
  775. static FORCEINLINE HRESULT IPropertySetter_AddProp(IPropertySetter* This,DEXTER_PARAM param,DEXTER_VALUE *value) {
  776. return This->lpVtbl->AddProp(This,param,value);
  777. }
  778. static FORCEINLINE HRESULT IPropertySetter_GetProps(IPropertySetter* This,LONG *params,DEXTER_PARAM **param,DEXTER_VALUE **value) {
  779. return This->lpVtbl->GetProps(This,params,param,value);
  780. }
  781. static FORCEINLINE HRESULT IPropertySetter_FreeProps(IPropertySetter* This,LONG params,DEXTER_PARAM *param,DEXTER_VALUE *value) {
  782. return This->lpVtbl->FreeProps(This,params,param,value);
  783. }
  784. static FORCEINLINE HRESULT IPropertySetter_ClearProps(IPropertySetter* This) {
  785. return This->lpVtbl->ClearProps(This);
  786. }
  787. static FORCEINLINE HRESULT IPropertySetter_SaveToBlob(IPropertySetter* This,LONG *size,BYTE **blob) {
  788. return This->lpVtbl->SaveToBlob(This,size,blob);
  789. }
  790. static FORCEINLINE HRESULT IPropertySetter_LoadFromBlob(IPropertySetter* This,LONG size,BYTE *blob) {
  791. return This->lpVtbl->LoadFromBlob(This,size,blob);
  792. }
  793. static FORCEINLINE HRESULT IPropertySetter_SetProps(IPropertySetter* This,IUnknown *target,REFERENCE_TIME now) {
  794. return This->lpVtbl->SetProps(This,target,now);
  795. }
  796. #endif
  797. #endif
  798. #endif
  799. #endif /* __IPropertySetter_INTERFACE_DEFINED__ */
  800. /*****************************************************************************
  801. * IAMErrorLog interface
  802. */
  803. #ifndef __IAMErrorLog_INTERFACE_DEFINED__
  804. #define __IAMErrorLog_INTERFACE_DEFINED__
  805. DEFINE_GUID(IID_IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20);
  806. #if defined(__cplusplus) && !defined(CINTERFACE)
  807. MIDL_INTERFACE("e43e73a2-0efa-11d3-9601-00a0c9441e20")
  808. IAMErrorLog : public IUnknown
  809. {
  810. virtual HRESULT STDMETHODCALLTYPE LogError(
  811. LONG severity,
  812. BSTR error_str,
  813. LONG error_code,
  814. LONG hresult,
  815. VARIANT *extra) = 0;
  816. };
  817. #ifdef __CRT_UUID_DECL
  818. __CRT_UUID_DECL(IAMErrorLog, 0xe43e73a2, 0x0efa, 0x11d3, 0x96,0x01, 0x00,0xa0,0xc9,0x44,0x1e,0x20)
  819. #endif
  820. #else
  821. typedef struct IAMErrorLogVtbl {
  822. BEGIN_INTERFACE
  823. /*** IUnknown methods ***/
  824. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  825. IAMErrorLog *This,
  826. REFIID riid,
  827. void **ppvObject);
  828. ULONG (STDMETHODCALLTYPE *AddRef)(
  829. IAMErrorLog *This);
  830. ULONG (STDMETHODCALLTYPE *Release)(
  831. IAMErrorLog *This);
  832. /*** IAMErrorLog methods ***/
  833. HRESULT (STDMETHODCALLTYPE *LogError)(
  834. IAMErrorLog *This,
  835. LONG severity,
  836. BSTR error_str,
  837. LONG error_code,
  838. LONG hresult,
  839. VARIANT *extra);
  840. END_INTERFACE
  841. } IAMErrorLogVtbl;
  842. interface IAMErrorLog {
  843. CONST_VTBL IAMErrorLogVtbl* lpVtbl;
  844. };
  845. #ifdef COBJMACROS
  846. #ifndef WIDL_C_INLINE_WRAPPERS
  847. /*** IUnknown methods ***/
  848. #define IAMErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  849. #define IAMErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
  850. #define IAMErrorLog_Release(This) (This)->lpVtbl->Release(This)
  851. /*** IAMErrorLog methods ***/
  852. #define IAMErrorLog_LogError(This,severity,error_str,error_code,hresult,extra) (This)->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra)
  853. #else
  854. /*** IUnknown methods ***/
  855. static FORCEINLINE HRESULT IAMErrorLog_QueryInterface(IAMErrorLog* This,REFIID riid,void **ppvObject) {
  856. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  857. }
  858. static FORCEINLINE ULONG IAMErrorLog_AddRef(IAMErrorLog* This) {
  859. return This->lpVtbl->AddRef(This);
  860. }
  861. static FORCEINLINE ULONG IAMErrorLog_Release(IAMErrorLog* This) {
  862. return This->lpVtbl->Release(This);
  863. }
  864. /*** IAMErrorLog methods ***/
  865. static FORCEINLINE HRESULT IAMErrorLog_LogError(IAMErrorLog* This,LONG severity,BSTR error_str,LONG error_code,LONG hresult,VARIANT *extra) {
  866. return This->lpVtbl->LogError(This,severity,error_str,error_code,hresult,extra);
  867. }
  868. #endif
  869. #endif
  870. #endif
  871. #endif /* __IAMErrorLog_INTERFACE_DEFINED__ */
  872. /*****************************************************************************
  873. * IAMSetErrorLog interface
  874. */
  875. #ifndef __IAMSetErrorLog_INTERFACE_DEFINED__
  876. #define __IAMSetErrorLog_INTERFACE_DEFINED__
  877. DEFINE_GUID(IID_IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1);
  878. #if defined(__cplusplus) && !defined(CINTERFACE)
  879. MIDL_INTERFACE("963566da-be21-4eaf-88e9-35704f8f52a1")
  880. IAMSetErrorLog : public IUnknown
  881. {
  882. virtual HRESULT STDMETHODCALLTYPE get_ErrorLog(
  883. IAMErrorLog **log) = 0;
  884. virtual HRESULT STDMETHODCALLTYPE put_ErrorLog(
  885. IAMErrorLog *log) = 0;
  886. };
  887. #ifdef __CRT_UUID_DECL
  888. __CRT_UUID_DECL(IAMSetErrorLog, 0x963566da, 0xbe21, 0x4eaf, 0x88,0xe9, 0x35,0x70,0x4f,0x8f,0x52,0xa1)
  889. #endif
  890. #else
  891. typedef struct IAMSetErrorLogVtbl {
  892. BEGIN_INTERFACE
  893. /*** IUnknown methods ***/
  894. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  895. IAMSetErrorLog *This,
  896. REFIID riid,
  897. void **ppvObject);
  898. ULONG (STDMETHODCALLTYPE *AddRef)(
  899. IAMSetErrorLog *This);
  900. ULONG (STDMETHODCALLTYPE *Release)(
  901. IAMSetErrorLog *This);
  902. /*** IAMSetErrorLog methods ***/
  903. HRESULT (STDMETHODCALLTYPE *get_ErrorLog)(
  904. IAMSetErrorLog *This,
  905. IAMErrorLog **log);
  906. HRESULT (STDMETHODCALLTYPE *put_ErrorLog)(
  907. IAMSetErrorLog *This,
  908. IAMErrorLog *log);
  909. END_INTERFACE
  910. } IAMSetErrorLogVtbl;
  911. interface IAMSetErrorLog {
  912. CONST_VTBL IAMSetErrorLogVtbl* lpVtbl;
  913. };
  914. #ifdef COBJMACROS
  915. #ifndef WIDL_C_INLINE_WRAPPERS
  916. /*** IUnknown methods ***/
  917. #define IAMSetErrorLog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  918. #define IAMSetErrorLog_AddRef(This) (This)->lpVtbl->AddRef(This)
  919. #define IAMSetErrorLog_Release(This) (This)->lpVtbl->Release(This)
  920. /*** IAMSetErrorLog methods ***/
  921. #define IAMSetErrorLog_get_ErrorLog(This,log) (This)->lpVtbl->get_ErrorLog(This,log)
  922. #define IAMSetErrorLog_put_ErrorLog(This,log) (This)->lpVtbl->put_ErrorLog(This,log)
  923. #else
  924. /*** IUnknown methods ***/
  925. static FORCEINLINE HRESULT IAMSetErrorLog_QueryInterface(IAMSetErrorLog* This,REFIID riid,void **ppvObject) {
  926. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  927. }
  928. static FORCEINLINE ULONG IAMSetErrorLog_AddRef(IAMSetErrorLog* This) {
  929. return This->lpVtbl->AddRef(This);
  930. }
  931. static FORCEINLINE ULONG IAMSetErrorLog_Release(IAMSetErrorLog* This) {
  932. return This->lpVtbl->Release(This);
  933. }
  934. /*** IAMSetErrorLog methods ***/
  935. static FORCEINLINE HRESULT IAMSetErrorLog_get_ErrorLog(IAMSetErrorLog* This,IAMErrorLog **log) {
  936. return This->lpVtbl->get_ErrorLog(This,log);
  937. }
  938. static FORCEINLINE HRESULT IAMSetErrorLog_put_ErrorLog(IAMSetErrorLog* This,IAMErrorLog *log) {
  939. return This->lpVtbl->put_ErrorLog(This,log);
  940. }
  941. #endif
  942. #endif
  943. #endif
  944. #endif /* __IAMSetErrorLog_INTERFACE_DEFINED__ */
  945. #ifndef __IAMTimeline_FWD_DEFINED__
  946. #define __IAMTimeline_FWD_DEFINED__
  947. typedef interface IAMTimeline IAMTimeline;
  948. #ifdef __cplusplus
  949. interface IAMTimeline;
  950. #endif /* __cplusplus */
  951. #endif
  952. #ifndef __IAMTimelineGroup_FWD_DEFINED__
  953. #define __IAMTimelineGroup_FWD_DEFINED__
  954. typedef interface IAMTimelineGroup IAMTimelineGroup;
  955. #ifdef __cplusplus
  956. interface IAMTimelineGroup;
  957. #endif /* __cplusplus */
  958. #endif
  959. #ifndef __IAMTimelineObj_FWD_DEFINED__
  960. #define __IAMTimelineObj_FWD_DEFINED__
  961. typedef interface IAMTimelineObj IAMTimelineObj;
  962. #ifdef __cplusplus
  963. interface IAMTimelineObj;
  964. #endif /* __cplusplus */
  965. #endif
  966. #ifndef __IAMTimelineSrc_FWD_DEFINED__
  967. #define __IAMTimelineSrc_FWD_DEFINED__
  968. typedef interface IAMTimelineSrc IAMTimelineSrc;
  969. #ifdef __cplusplus
  970. interface IAMTimelineSrc;
  971. #endif /* __cplusplus */
  972. #endif
  973. typedef enum __WIDL_qedit_generated_name_0000002D {
  974. TIMELINE_MAJOR_TYPE_COMPOSITE = 1,
  975. TIMELINE_MAJOR_TYPE_TRACK = 2,
  976. TIMELINE_MAJOR_TYPE_SOURCE = 4,
  977. TIMELINE_MAJOR_TYPE_TRANSITION = 8,
  978. TIMELINE_MAJOR_TYPE_EFFECT = 16,
  979. TIMELINE_MAJOR_TYPE_GROUP = 128
  980. } TIMELINE_MAJOR_TYPE;
  981. /*****************************************************************************
  982. * IAMTimeline interface
  983. */
  984. #ifndef __IAMTimeline_INTERFACE_DEFINED__
  985. #define __IAMTimeline_INTERFACE_DEFINED__
  986. DEFINE_GUID(IID_IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
  987. #if defined(__cplusplus) && !defined(CINTERFACE)
  988. MIDL_INTERFACE("78530b74-61f9-11d2-8cad-00a024580902")
  989. IAMTimeline : public IUnknown
  990. {
  991. virtual HRESULT STDMETHODCALLTYPE CreateEmptyNode(
  992. IAMTimelineObj **obj,
  993. TIMELINE_MAJOR_TYPE type) = 0;
  994. virtual HRESULT STDMETHODCALLTYPE AddGroup(
  995. IAMTimelineObj *group) = 0;
  996. virtual HRESULT STDMETHODCALLTYPE RemGroupFromList(
  997. IAMTimelineObj *group) = 0;
  998. virtual HRESULT STDMETHODCALLTYPE GetGroup(
  999. IAMTimelineObj **group,
  1000. LONG index) = 0;
  1001. virtual HRESULT STDMETHODCALLTYPE GetGroupCount(
  1002. LONG *count) = 0;
  1003. virtual HRESULT STDMETHODCALLTYPE ClearAllGroups(
  1004. ) = 0;
  1005. virtual HRESULT STDMETHODCALLTYPE GetInsertMode(
  1006. LONG *mode) = 0;
  1007. virtual HRESULT STDMETHODCALLTYPE SetInsertMode(
  1008. LONG mode) = 0;
  1009. virtual HRESULT STDMETHODCALLTYPE EnableTransitions(
  1010. WINBOOL enabled) = 0;
  1011. virtual HRESULT STDMETHODCALLTYPE TransitionsEnabled(
  1012. WINBOOL *enabled) = 0;
  1013. virtual HRESULT STDMETHODCALLTYPE EnableEffects(
  1014. WINBOOL enabled) = 0;
  1015. virtual HRESULT STDMETHODCALLTYPE EffectsEnabled(
  1016. WINBOOL *enabled) = 0;
  1017. virtual HRESULT STDMETHODCALLTYPE SetInterestRange(
  1018. REFERENCE_TIME start,
  1019. REFERENCE_TIME stop) = 0;
  1020. virtual HRESULT STDMETHODCALLTYPE GetDuration(
  1021. REFERENCE_TIME *duration) = 0;
  1022. virtual HRESULT STDMETHODCALLTYPE GetDuration2(
  1023. double *duration) = 0;
  1024. virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
  1025. double fps) = 0;
  1026. virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
  1027. double *fps) = 0;
  1028. virtual HRESULT STDMETHODCALLTYPE IsDirty(
  1029. WINBOOL *dirty) = 0;
  1030. virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
  1031. REFERENCE_TIME *start,
  1032. REFERENCE_TIME *stop) = 0;
  1033. virtual HRESULT STDMETHODCALLTYPE GetCountOfType(
  1034. LONG group,
  1035. LONG *value,
  1036. LONG *value_with_comps,
  1037. TIMELINE_MAJOR_TYPE type) = 0;
  1038. virtual HRESULT STDMETHODCALLTYPE ValidateSourceNames(
  1039. LONG flags,
  1040. IMediaLocator *override,
  1041. LONG_PTR notify_event) = 0;
  1042. virtual HRESULT STDMETHODCALLTYPE SetDefaultTransition(
  1043. GUID *guid) = 0;
  1044. virtual HRESULT STDMETHODCALLTYPE GetDefaultTransition(
  1045. GUID *guid) = 0;
  1046. virtual HRESULT STDMETHODCALLTYPE SetDefaultEffect(
  1047. GUID *guid) = 0;
  1048. virtual HRESULT STDMETHODCALLTYPE GetDefaultEffect(
  1049. GUID *guid) = 0;
  1050. virtual HRESULT STDMETHODCALLTYPE SetDefaultTransitionB(
  1051. BSTR guidb) = 0;
  1052. virtual HRESULT STDMETHODCALLTYPE GetDefaultTransitionB(
  1053. BSTR *guidb) = 0;
  1054. virtual HRESULT STDMETHODCALLTYPE SetDefaultEffectB(
  1055. BSTR guidb) = 0;
  1056. virtual HRESULT STDMETHODCALLTYPE GetDefaultEffectB(
  1057. BSTR *guidb) = 0;
  1058. };
  1059. #ifdef __CRT_UUID_DECL
  1060. __CRT_UUID_DECL(IAMTimeline, 0x78530b74, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
  1061. #endif
  1062. #else
  1063. typedef struct IAMTimelineVtbl {
  1064. BEGIN_INTERFACE
  1065. /*** IUnknown methods ***/
  1066. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1067. IAMTimeline *This,
  1068. REFIID riid,
  1069. void **ppvObject);
  1070. ULONG (STDMETHODCALLTYPE *AddRef)(
  1071. IAMTimeline *This);
  1072. ULONG (STDMETHODCALLTYPE *Release)(
  1073. IAMTimeline *This);
  1074. /*** IAMTimeline methods ***/
  1075. HRESULT (STDMETHODCALLTYPE *CreateEmptyNode)(
  1076. IAMTimeline *This,
  1077. IAMTimelineObj **obj,
  1078. TIMELINE_MAJOR_TYPE type);
  1079. HRESULT (STDMETHODCALLTYPE *AddGroup)(
  1080. IAMTimeline *This,
  1081. IAMTimelineObj *group);
  1082. HRESULT (STDMETHODCALLTYPE *RemGroupFromList)(
  1083. IAMTimeline *This,
  1084. IAMTimelineObj *group);
  1085. HRESULT (STDMETHODCALLTYPE *GetGroup)(
  1086. IAMTimeline *This,
  1087. IAMTimelineObj **group,
  1088. LONG index);
  1089. HRESULT (STDMETHODCALLTYPE *GetGroupCount)(
  1090. IAMTimeline *This,
  1091. LONG *count);
  1092. HRESULT (STDMETHODCALLTYPE *ClearAllGroups)(
  1093. IAMTimeline *This);
  1094. HRESULT (STDMETHODCALLTYPE *GetInsertMode)(
  1095. IAMTimeline *This,
  1096. LONG *mode);
  1097. HRESULT (STDMETHODCALLTYPE *SetInsertMode)(
  1098. IAMTimeline *This,
  1099. LONG mode);
  1100. HRESULT (STDMETHODCALLTYPE *EnableTransitions)(
  1101. IAMTimeline *This,
  1102. WINBOOL enabled);
  1103. HRESULT (STDMETHODCALLTYPE *TransitionsEnabled)(
  1104. IAMTimeline *This,
  1105. WINBOOL *enabled);
  1106. HRESULT (STDMETHODCALLTYPE *EnableEffects)(
  1107. IAMTimeline *This,
  1108. WINBOOL enabled);
  1109. HRESULT (STDMETHODCALLTYPE *EffectsEnabled)(
  1110. IAMTimeline *This,
  1111. WINBOOL *enabled);
  1112. HRESULT (STDMETHODCALLTYPE *SetInterestRange)(
  1113. IAMTimeline *This,
  1114. REFERENCE_TIME start,
  1115. REFERENCE_TIME stop);
  1116. HRESULT (STDMETHODCALLTYPE *GetDuration)(
  1117. IAMTimeline *This,
  1118. REFERENCE_TIME *duration);
  1119. HRESULT (STDMETHODCALLTYPE *GetDuration2)(
  1120. IAMTimeline *This,
  1121. double *duration);
  1122. HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
  1123. IAMTimeline *This,
  1124. double fps);
  1125. HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
  1126. IAMTimeline *This,
  1127. double *fps);
  1128. HRESULT (STDMETHODCALLTYPE *IsDirty)(
  1129. IAMTimeline *This,
  1130. WINBOOL *dirty);
  1131. HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
  1132. IAMTimeline *This,
  1133. REFERENCE_TIME *start,
  1134. REFERENCE_TIME *stop);
  1135. HRESULT (STDMETHODCALLTYPE *GetCountOfType)(
  1136. IAMTimeline *This,
  1137. LONG group,
  1138. LONG *value,
  1139. LONG *value_with_comps,
  1140. TIMELINE_MAJOR_TYPE type);
  1141. HRESULT (STDMETHODCALLTYPE *ValidateSourceNames)(
  1142. IAMTimeline *This,
  1143. LONG flags,
  1144. IMediaLocator *override,
  1145. LONG_PTR notify_event);
  1146. HRESULT (STDMETHODCALLTYPE *SetDefaultTransition)(
  1147. IAMTimeline *This,
  1148. GUID *guid);
  1149. HRESULT (STDMETHODCALLTYPE *GetDefaultTransition)(
  1150. IAMTimeline *This,
  1151. GUID *guid);
  1152. HRESULT (STDMETHODCALLTYPE *SetDefaultEffect)(
  1153. IAMTimeline *This,
  1154. GUID *guid);
  1155. HRESULT (STDMETHODCALLTYPE *GetDefaultEffect)(
  1156. IAMTimeline *This,
  1157. GUID *guid);
  1158. HRESULT (STDMETHODCALLTYPE *SetDefaultTransitionB)(
  1159. IAMTimeline *This,
  1160. BSTR guidb);
  1161. HRESULT (STDMETHODCALLTYPE *GetDefaultTransitionB)(
  1162. IAMTimeline *This,
  1163. BSTR *guidb);
  1164. HRESULT (STDMETHODCALLTYPE *SetDefaultEffectB)(
  1165. IAMTimeline *This,
  1166. BSTR guidb);
  1167. HRESULT (STDMETHODCALLTYPE *GetDefaultEffectB)(
  1168. IAMTimeline *This,
  1169. BSTR *guidb);
  1170. END_INTERFACE
  1171. } IAMTimelineVtbl;
  1172. interface IAMTimeline {
  1173. CONST_VTBL IAMTimelineVtbl* lpVtbl;
  1174. };
  1175. #ifdef COBJMACROS
  1176. #ifndef WIDL_C_INLINE_WRAPPERS
  1177. /*** IUnknown methods ***/
  1178. #define IAMTimeline_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1179. #define IAMTimeline_AddRef(This) (This)->lpVtbl->AddRef(This)
  1180. #define IAMTimeline_Release(This) (This)->lpVtbl->Release(This)
  1181. /*** IAMTimeline methods ***/
  1182. #define IAMTimeline_CreateEmptyNode(This,obj,type) (This)->lpVtbl->CreateEmptyNode(This,obj,type)
  1183. #define IAMTimeline_AddGroup(This,group) (This)->lpVtbl->AddGroup(This,group)
  1184. #define IAMTimeline_RemGroupFromList(This,group) (This)->lpVtbl->RemGroupFromList(This,group)
  1185. #define IAMTimeline_GetGroup(This,group,index) (This)->lpVtbl->GetGroup(This,group,index)
  1186. #define IAMTimeline_GetGroupCount(This,count) (This)->lpVtbl->GetGroupCount(This,count)
  1187. #define IAMTimeline_ClearAllGroups(This) (This)->lpVtbl->ClearAllGroups(This)
  1188. #define IAMTimeline_GetInsertMode(This,mode) (This)->lpVtbl->GetInsertMode(This,mode)
  1189. #define IAMTimeline_SetInsertMode(This,mode) (This)->lpVtbl->SetInsertMode(This,mode)
  1190. #define IAMTimeline_EnableTransitions(This,enabled) (This)->lpVtbl->EnableTransitions(This,enabled)
  1191. #define IAMTimeline_TransitionsEnabled(This,enabled) (This)->lpVtbl->TransitionsEnabled(This,enabled)
  1192. #define IAMTimeline_EnableEffects(This,enabled) (This)->lpVtbl->EnableEffects(This,enabled)
  1193. #define IAMTimeline_EffectsEnabled(This,enabled) (This)->lpVtbl->EffectsEnabled(This,enabled)
  1194. #define IAMTimeline_SetInterestRange(This,start,stop) (This)->lpVtbl->SetInterestRange(This,start,stop)
  1195. #define IAMTimeline_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
  1196. #define IAMTimeline_GetDuration2(This,duration) (This)->lpVtbl->GetDuration2(This,duration)
  1197. #define IAMTimeline_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
  1198. #define IAMTimeline_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
  1199. #define IAMTimeline_IsDirty(This,dirty) (This)->lpVtbl->IsDirty(This,dirty)
  1200. #define IAMTimeline_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
  1201. #define IAMTimeline_GetCountOfType(This,group,value,value_with_comps,type) (This)->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type)
  1202. #define IAMTimeline_ValidateSourceNames(This,flags,override,notify_event) (This)->lpVtbl->ValidateSourceNames(This,flags,override,notify_event)
  1203. #define IAMTimeline_SetDefaultTransition(This,guid) (This)->lpVtbl->SetDefaultTransition(This,guid)
  1204. #define IAMTimeline_GetDefaultTransition(This,guid) (This)->lpVtbl->GetDefaultTransition(This,guid)
  1205. #define IAMTimeline_SetDefaultEffect(This,guid) (This)->lpVtbl->SetDefaultEffect(This,guid)
  1206. #define IAMTimeline_GetDefaultEffect(This,guid) (This)->lpVtbl->GetDefaultEffect(This,guid)
  1207. #define IAMTimeline_SetDefaultTransitionB(This,guidb) (This)->lpVtbl->SetDefaultTransitionB(This,guidb)
  1208. #define IAMTimeline_GetDefaultTransitionB(This,guidb) (This)->lpVtbl->GetDefaultTransitionB(This,guidb)
  1209. #define IAMTimeline_SetDefaultEffectB(This,guidb) (This)->lpVtbl->SetDefaultEffectB(This,guidb)
  1210. #define IAMTimeline_GetDefaultEffectB(This,guidb) (This)->lpVtbl->GetDefaultEffectB(This,guidb)
  1211. #else
  1212. /*** IUnknown methods ***/
  1213. static FORCEINLINE HRESULT IAMTimeline_QueryInterface(IAMTimeline* This,REFIID riid,void **ppvObject) {
  1214. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1215. }
  1216. static FORCEINLINE ULONG IAMTimeline_AddRef(IAMTimeline* This) {
  1217. return This->lpVtbl->AddRef(This);
  1218. }
  1219. static FORCEINLINE ULONG IAMTimeline_Release(IAMTimeline* This) {
  1220. return This->lpVtbl->Release(This);
  1221. }
  1222. /*** IAMTimeline methods ***/
  1223. static FORCEINLINE HRESULT IAMTimeline_CreateEmptyNode(IAMTimeline* This,IAMTimelineObj **obj,TIMELINE_MAJOR_TYPE type) {
  1224. return This->lpVtbl->CreateEmptyNode(This,obj,type);
  1225. }
  1226. static FORCEINLINE HRESULT IAMTimeline_AddGroup(IAMTimeline* This,IAMTimelineObj *group) {
  1227. return This->lpVtbl->AddGroup(This,group);
  1228. }
  1229. static FORCEINLINE HRESULT IAMTimeline_RemGroupFromList(IAMTimeline* This,IAMTimelineObj *group) {
  1230. return This->lpVtbl->RemGroupFromList(This,group);
  1231. }
  1232. static FORCEINLINE HRESULT IAMTimeline_GetGroup(IAMTimeline* This,IAMTimelineObj **group,LONG index) {
  1233. return This->lpVtbl->GetGroup(This,group,index);
  1234. }
  1235. static FORCEINLINE HRESULT IAMTimeline_GetGroupCount(IAMTimeline* This,LONG *count) {
  1236. return This->lpVtbl->GetGroupCount(This,count);
  1237. }
  1238. static FORCEINLINE HRESULT IAMTimeline_ClearAllGroups(IAMTimeline* This) {
  1239. return This->lpVtbl->ClearAllGroups(This);
  1240. }
  1241. static FORCEINLINE HRESULT IAMTimeline_GetInsertMode(IAMTimeline* This,LONG *mode) {
  1242. return This->lpVtbl->GetInsertMode(This,mode);
  1243. }
  1244. static FORCEINLINE HRESULT IAMTimeline_SetInsertMode(IAMTimeline* This,LONG mode) {
  1245. return This->lpVtbl->SetInsertMode(This,mode);
  1246. }
  1247. static FORCEINLINE HRESULT IAMTimeline_EnableTransitions(IAMTimeline* This,WINBOOL enabled) {
  1248. return This->lpVtbl->EnableTransitions(This,enabled);
  1249. }
  1250. static FORCEINLINE HRESULT IAMTimeline_TransitionsEnabled(IAMTimeline* This,WINBOOL *enabled) {
  1251. return This->lpVtbl->TransitionsEnabled(This,enabled);
  1252. }
  1253. static FORCEINLINE HRESULT IAMTimeline_EnableEffects(IAMTimeline* This,WINBOOL enabled) {
  1254. return This->lpVtbl->EnableEffects(This,enabled);
  1255. }
  1256. static FORCEINLINE HRESULT IAMTimeline_EffectsEnabled(IAMTimeline* This,WINBOOL *enabled) {
  1257. return This->lpVtbl->EffectsEnabled(This,enabled);
  1258. }
  1259. static FORCEINLINE HRESULT IAMTimeline_SetInterestRange(IAMTimeline* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
  1260. return This->lpVtbl->SetInterestRange(This,start,stop);
  1261. }
  1262. static FORCEINLINE HRESULT IAMTimeline_GetDuration(IAMTimeline* This,REFERENCE_TIME *duration) {
  1263. return This->lpVtbl->GetDuration(This,duration);
  1264. }
  1265. static FORCEINLINE HRESULT IAMTimeline_GetDuration2(IAMTimeline* This,double *duration) {
  1266. return This->lpVtbl->GetDuration2(This,duration);
  1267. }
  1268. static FORCEINLINE HRESULT IAMTimeline_SetDefaultFPS(IAMTimeline* This,double fps) {
  1269. return This->lpVtbl->SetDefaultFPS(This,fps);
  1270. }
  1271. static FORCEINLINE HRESULT IAMTimeline_GetDefaultFPS(IAMTimeline* This,double *fps) {
  1272. return This->lpVtbl->GetDefaultFPS(This,fps);
  1273. }
  1274. static FORCEINLINE HRESULT IAMTimeline_IsDirty(IAMTimeline* This,WINBOOL *dirty) {
  1275. return This->lpVtbl->IsDirty(This,dirty);
  1276. }
  1277. static FORCEINLINE HRESULT IAMTimeline_GetDirtyRange(IAMTimeline* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  1278. return This->lpVtbl->GetDirtyRange(This,start,stop);
  1279. }
  1280. static FORCEINLINE HRESULT IAMTimeline_GetCountOfType(IAMTimeline* This,LONG group,LONG *value,LONG *value_with_comps,TIMELINE_MAJOR_TYPE type) {
  1281. return This->lpVtbl->GetCountOfType(This,group,value,value_with_comps,type);
  1282. }
  1283. static FORCEINLINE HRESULT IAMTimeline_ValidateSourceNames(IAMTimeline* This,LONG flags,IMediaLocator *override,LONG_PTR notify_event) {
  1284. return This->lpVtbl->ValidateSourceNames(This,flags,override,notify_event);
  1285. }
  1286. static FORCEINLINE HRESULT IAMTimeline_SetDefaultTransition(IAMTimeline* This,GUID *guid) {
  1287. return This->lpVtbl->SetDefaultTransition(This,guid);
  1288. }
  1289. static FORCEINLINE HRESULT IAMTimeline_GetDefaultTransition(IAMTimeline* This,GUID *guid) {
  1290. return This->lpVtbl->GetDefaultTransition(This,guid);
  1291. }
  1292. static FORCEINLINE HRESULT IAMTimeline_SetDefaultEffect(IAMTimeline* This,GUID *guid) {
  1293. return This->lpVtbl->SetDefaultEffect(This,guid);
  1294. }
  1295. static FORCEINLINE HRESULT IAMTimeline_GetDefaultEffect(IAMTimeline* This,GUID *guid) {
  1296. return This->lpVtbl->GetDefaultEffect(This,guid);
  1297. }
  1298. static FORCEINLINE HRESULT IAMTimeline_SetDefaultTransitionB(IAMTimeline* This,BSTR guidb) {
  1299. return This->lpVtbl->SetDefaultTransitionB(This,guidb);
  1300. }
  1301. static FORCEINLINE HRESULT IAMTimeline_GetDefaultTransitionB(IAMTimeline* This,BSTR *guidb) {
  1302. return This->lpVtbl->GetDefaultTransitionB(This,guidb);
  1303. }
  1304. static FORCEINLINE HRESULT IAMTimeline_SetDefaultEffectB(IAMTimeline* This,BSTR guidb) {
  1305. return This->lpVtbl->SetDefaultEffectB(This,guidb);
  1306. }
  1307. static FORCEINLINE HRESULT IAMTimeline_GetDefaultEffectB(IAMTimeline* This,BSTR *guidb) {
  1308. return This->lpVtbl->GetDefaultEffectB(This,guidb);
  1309. }
  1310. #endif
  1311. #endif
  1312. #endif
  1313. #endif /* __IAMTimeline_INTERFACE_DEFINED__ */
  1314. /*****************************************************************************
  1315. * AMTimeline coclass
  1316. */
  1317. DEFINE_GUID(CLSID_AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
  1318. #ifdef __cplusplus
  1319. class DECLSPEC_UUID("78530b75-61f9-11d2-8cad-00a024580902") AMTimeline;
  1320. #ifdef __CRT_UUID_DECL
  1321. __CRT_UUID_DECL(AMTimeline, 0x78530b75, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
  1322. #endif
  1323. #endif
  1324. /*****************************************************************************
  1325. * IAMTimelineGroup interface
  1326. */
  1327. #ifndef __IAMTimelineGroup_INTERFACE_DEFINED__
  1328. #define __IAMTimelineGroup_INTERFACE_DEFINED__
  1329. DEFINE_GUID(IID_IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34);
  1330. #if defined(__cplusplus) && !defined(CINTERFACE)
  1331. MIDL_INTERFACE("9eed4f00-b8a6-11d2-8023-00c0df10d434")
  1332. IAMTimelineGroup : public IUnknown
  1333. {
  1334. virtual HRESULT STDMETHODCALLTYPE SetTimeline(
  1335. IAMTimeline *timeline) = 0;
  1336. virtual HRESULT STDMETHODCALLTYPE GetTimeline(
  1337. IAMTimeline **timeline) = 0;
  1338. virtual HRESULT STDMETHODCALLTYPE GetPriority(
  1339. LONG *priority) = 0;
  1340. virtual HRESULT STDMETHODCALLTYPE GetMediaType(
  1341. AM_MEDIA_TYPE *a) = 0;
  1342. virtual HRESULT STDMETHODCALLTYPE SetMediaType(
  1343. AM_MEDIA_TYPE *a) = 0;
  1344. virtual HRESULT STDMETHODCALLTYPE SetOutputFPS(
  1345. double fps) = 0;
  1346. virtual HRESULT STDMETHODCALLTYPE GetOutputFPS(
  1347. double *fps) = 0;
  1348. virtual HRESULT STDMETHODCALLTYPE SetGroupName(
  1349. BSTR name) = 0;
  1350. virtual HRESULT STDMETHODCALLTYPE GetGroupName(
  1351. BSTR *name) = 0;
  1352. virtual HRESULT STDMETHODCALLTYPE SetPreviewMode(
  1353. WINBOOL preview) = 0;
  1354. virtual HRESULT STDMETHODCALLTYPE GetPreviewMode(
  1355. WINBOOL *preview) = 0;
  1356. virtual HRESULT STDMETHODCALLTYPE SetMediaTypeForVB(
  1357. LONG type) = 0;
  1358. virtual HRESULT STDMETHODCALLTYPE GetOutputBuffering(
  1359. int *buffer) = 0;
  1360. virtual HRESULT STDMETHODCALLTYPE SetOutputBuffering(
  1361. int buffer) = 0;
  1362. virtual HRESULT STDMETHODCALLTYPE SetSmartRecompressFormat(
  1363. LONG *format) = 0;
  1364. virtual HRESULT STDMETHODCALLTYPE GetSmartRecompressFormat(
  1365. LONG **format) = 0;
  1366. virtual HRESULT STDMETHODCALLTYPE IsSmartRecompressFormatSet(
  1367. WINBOOL *set) = 0;
  1368. virtual HRESULT STDMETHODCALLTYPE IsRecompressFormatDirty(
  1369. WINBOOL *dirty) = 0;
  1370. virtual HRESULT STDMETHODCALLTYPE ClearRecompressFormatDirty(
  1371. ) = 0;
  1372. virtual HRESULT STDMETHODCALLTYPE SetRecompFormatFromSource(
  1373. IAMTimelineSrc *source) = 0;
  1374. };
  1375. #ifdef __CRT_UUID_DECL
  1376. __CRT_UUID_DECL(IAMTimelineGroup, 0x9eed4f00, 0xb8a6, 0x11d2, 0x80,0x23, 0x00,0xc0,0xdf,0x10,0xd4,0x34)
  1377. #endif
  1378. #else
  1379. typedef struct IAMTimelineGroupVtbl {
  1380. BEGIN_INTERFACE
  1381. /*** IUnknown methods ***/
  1382. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1383. IAMTimelineGroup *This,
  1384. REFIID riid,
  1385. void **ppvObject);
  1386. ULONG (STDMETHODCALLTYPE *AddRef)(
  1387. IAMTimelineGroup *This);
  1388. ULONG (STDMETHODCALLTYPE *Release)(
  1389. IAMTimelineGroup *This);
  1390. /*** IAMTimelineGroup methods ***/
  1391. HRESULT (STDMETHODCALLTYPE *SetTimeline)(
  1392. IAMTimelineGroup *This,
  1393. IAMTimeline *timeline);
  1394. HRESULT (STDMETHODCALLTYPE *GetTimeline)(
  1395. IAMTimelineGroup *This,
  1396. IAMTimeline **timeline);
  1397. HRESULT (STDMETHODCALLTYPE *GetPriority)(
  1398. IAMTimelineGroup *This,
  1399. LONG *priority);
  1400. HRESULT (STDMETHODCALLTYPE *GetMediaType)(
  1401. IAMTimelineGroup *This,
  1402. AM_MEDIA_TYPE *a);
  1403. HRESULT (STDMETHODCALLTYPE *SetMediaType)(
  1404. IAMTimelineGroup *This,
  1405. AM_MEDIA_TYPE *a);
  1406. HRESULT (STDMETHODCALLTYPE *SetOutputFPS)(
  1407. IAMTimelineGroup *This,
  1408. double fps);
  1409. HRESULT (STDMETHODCALLTYPE *GetOutputFPS)(
  1410. IAMTimelineGroup *This,
  1411. double *fps);
  1412. HRESULT (STDMETHODCALLTYPE *SetGroupName)(
  1413. IAMTimelineGroup *This,
  1414. BSTR name);
  1415. HRESULT (STDMETHODCALLTYPE *GetGroupName)(
  1416. IAMTimelineGroup *This,
  1417. BSTR *name);
  1418. HRESULT (STDMETHODCALLTYPE *SetPreviewMode)(
  1419. IAMTimelineGroup *This,
  1420. WINBOOL preview);
  1421. HRESULT (STDMETHODCALLTYPE *GetPreviewMode)(
  1422. IAMTimelineGroup *This,
  1423. WINBOOL *preview);
  1424. HRESULT (STDMETHODCALLTYPE *SetMediaTypeForVB)(
  1425. IAMTimelineGroup *This,
  1426. LONG type);
  1427. HRESULT (STDMETHODCALLTYPE *GetOutputBuffering)(
  1428. IAMTimelineGroup *This,
  1429. int *buffer);
  1430. HRESULT (STDMETHODCALLTYPE *SetOutputBuffering)(
  1431. IAMTimelineGroup *This,
  1432. int buffer);
  1433. HRESULT (STDMETHODCALLTYPE *SetSmartRecompressFormat)(
  1434. IAMTimelineGroup *This,
  1435. LONG *format);
  1436. HRESULT (STDMETHODCALLTYPE *GetSmartRecompressFormat)(
  1437. IAMTimelineGroup *This,
  1438. LONG **format);
  1439. HRESULT (STDMETHODCALLTYPE *IsSmartRecompressFormatSet)(
  1440. IAMTimelineGroup *This,
  1441. WINBOOL *set);
  1442. HRESULT (STDMETHODCALLTYPE *IsRecompressFormatDirty)(
  1443. IAMTimelineGroup *This,
  1444. WINBOOL *dirty);
  1445. HRESULT (STDMETHODCALLTYPE *ClearRecompressFormatDirty)(
  1446. IAMTimelineGroup *This);
  1447. HRESULT (STDMETHODCALLTYPE *SetRecompFormatFromSource)(
  1448. IAMTimelineGroup *This,
  1449. IAMTimelineSrc *source);
  1450. END_INTERFACE
  1451. } IAMTimelineGroupVtbl;
  1452. interface IAMTimelineGroup {
  1453. CONST_VTBL IAMTimelineGroupVtbl* lpVtbl;
  1454. };
  1455. #ifdef COBJMACROS
  1456. #ifndef WIDL_C_INLINE_WRAPPERS
  1457. /*** IUnknown methods ***/
  1458. #define IAMTimelineGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1459. #define IAMTimelineGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
  1460. #define IAMTimelineGroup_Release(This) (This)->lpVtbl->Release(This)
  1461. /*** IAMTimelineGroup methods ***/
  1462. #define IAMTimelineGroup_SetTimeline(This,timeline) (This)->lpVtbl->SetTimeline(This,timeline)
  1463. #define IAMTimelineGroup_GetTimeline(This,timeline) (This)->lpVtbl->GetTimeline(This,timeline)
  1464. #define IAMTimelineGroup_GetPriority(This,priority) (This)->lpVtbl->GetPriority(This,priority)
  1465. #define IAMTimelineGroup_GetMediaType(This,a) (This)->lpVtbl->GetMediaType(This,a)
  1466. #define IAMTimelineGroup_SetMediaType(This,a) (This)->lpVtbl->SetMediaType(This,a)
  1467. #define IAMTimelineGroup_SetOutputFPS(This,fps) (This)->lpVtbl->SetOutputFPS(This,fps)
  1468. #define IAMTimelineGroup_GetOutputFPS(This,fps) (This)->lpVtbl->GetOutputFPS(This,fps)
  1469. #define IAMTimelineGroup_SetGroupName(This,name) (This)->lpVtbl->SetGroupName(This,name)
  1470. #define IAMTimelineGroup_GetGroupName(This,name) (This)->lpVtbl->GetGroupName(This,name)
  1471. #define IAMTimelineGroup_SetPreviewMode(This,preview) (This)->lpVtbl->SetPreviewMode(This,preview)
  1472. #define IAMTimelineGroup_GetPreviewMode(This,preview) (This)->lpVtbl->GetPreviewMode(This,preview)
  1473. #define IAMTimelineGroup_SetMediaTypeForVB(This,type) (This)->lpVtbl->SetMediaTypeForVB(This,type)
  1474. #define IAMTimelineGroup_GetOutputBuffering(This,buffer) (This)->lpVtbl->GetOutputBuffering(This,buffer)
  1475. #define IAMTimelineGroup_SetOutputBuffering(This,buffer) (This)->lpVtbl->SetOutputBuffering(This,buffer)
  1476. #define IAMTimelineGroup_SetSmartRecompressFormat(This,format) (This)->lpVtbl->SetSmartRecompressFormat(This,format)
  1477. #define IAMTimelineGroup_GetSmartRecompressFormat(This,format) (This)->lpVtbl->GetSmartRecompressFormat(This,format)
  1478. #define IAMTimelineGroup_IsSmartRecompressFormatSet(This,set) (This)->lpVtbl->IsSmartRecompressFormatSet(This,set)
  1479. #define IAMTimelineGroup_IsRecompressFormatDirty(This,dirty) (This)->lpVtbl->IsRecompressFormatDirty(This,dirty)
  1480. #define IAMTimelineGroup_ClearRecompressFormatDirty(This) (This)->lpVtbl->ClearRecompressFormatDirty(This)
  1481. #define IAMTimelineGroup_SetRecompFormatFromSource(This,source) (This)->lpVtbl->SetRecompFormatFromSource(This,source)
  1482. #else
  1483. /*** IUnknown methods ***/
  1484. static FORCEINLINE HRESULT IAMTimelineGroup_QueryInterface(IAMTimelineGroup* This,REFIID riid,void **ppvObject) {
  1485. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1486. }
  1487. static FORCEINLINE ULONG IAMTimelineGroup_AddRef(IAMTimelineGroup* This) {
  1488. return This->lpVtbl->AddRef(This);
  1489. }
  1490. static FORCEINLINE ULONG IAMTimelineGroup_Release(IAMTimelineGroup* This) {
  1491. return This->lpVtbl->Release(This);
  1492. }
  1493. /*** IAMTimelineGroup methods ***/
  1494. static FORCEINLINE HRESULT IAMTimelineGroup_SetTimeline(IAMTimelineGroup* This,IAMTimeline *timeline) {
  1495. return This->lpVtbl->SetTimeline(This,timeline);
  1496. }
  1497. static FORCEINLINE HRESULT IAMTimelineGroup_GetTimeline(IAMTimelineGroup* This,IAMTimeline **timeline) {
  1498. return This->lpVtbl->GetTimeline(This,timeline);
  1499. }
  1500. static FORCEINLINE HRESULT IAMTimelineGroup_GetPriority(IAMTimelineGroup* This,LONG *priority) {
  1501. return This->lpVtbl->GetPriority(This,priority);
  1502. }
  1503. static FORCEINLINE HRESULT IAMTimelineGroup_GetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
  1504. return This->lpVtbl->GetMediaType(This,a);
  1505. }
  1506. static FORCEINLINE HRESULT IAMTimelineGroup_SetMediaType(IAMTimelineGroup* This,AM_MEDIA_TYPE *a) {
  1507. return This->lpVtbl->SetMediaType(This,a);
  1508. }
  1509. static FORCEINLINE HRESULT IAMTimelineGroup_SetOutputFPS(IAMTimelineGroup* This,double fps) {
  1510. return This->lpVtbl->SetOutputFPS(This,fps);
  1511. }
  1512. static FORCEINLINE HRESULT IAMTimelineGroup_GetOutputFPS(IAMTimelineGroup* This,double *fps) {
  1513. return This->lpVtbl->GetOutputFPS(This,fps);
  1514. }
  1515. static FORCEINLINE HRESULT IAMTimelineGroup_SetGroupName(IAMTimelineGroup* This,BSTR name) {
  1516. return This->lpVtbl->SetGroupName(This,name);
  1517. }
  1518. static FORCEINLINE HRESULT IAMTimelineGroup_GetGroupName(IAMTimelineGroup* This,BSTR *name) {
  1519. return This->lpVtbl->GetGroupName(This,name);
  1520. }
  1521. static FORCEINLINE HRESULT IAMTimelineGroup_SetPreviewMode(IAMTimelineGroup* This,WINBOOL preview) {
  1522. return This->lpVtbl->SetPreviewMode(This,preview);
  1523. }
  1524. static FORCEINLINE HRESULT IAMTimelineGroup_GetPreviewMode(IAMTimelineGroup* This,WINBOOL *preview) {
  1525. return This->lpVtbl->GetPreviewMode(This,preview);
  1526. }
  1527. static FORCEINLINE HRESULT IAMTimelineGroup_SetMediaTypeForVB(IAMTimelineGroup* This,LONG type) {
  1528. return This->lpVtbl->SetMediaTypeForVB(This,type);
  1529. }
  1530. static FORCEINLINE HRESULT IAMTimelineGroup_GetOutputBuffering(IAMTimelineGroup* This,int *buffer) {
  1531. return This->lpVtbl->GetOutputBuffering(This,buffer);
  1532. }
  1533. static FORCEINLINE HRESULT IAMTimelineGroup_SetOutputBuffering(IAMTimelineGroup* This,int buffer) {
  1534. return This->lpVtbl->SetOutputBuffering(This,buffer);
  1535. }
  1536. static FORCEINLINE HRESULT IAMTimelineGroup_SetSmartRecompressFormat(IAMTimelineGroup* This,LONG *format) {
  1537. return This->lpVtbl->SetSmartRecompressFormat(This,format);
  1538. }
  1539. static FORCEINLINE HRESULT IAMTimelineGroup_GetSmartRecompressFormat(IAMTimelineGroup* This,LONG **format) {
  1540. return This->lpVtbl->GetSmartRecompressFormat(This,format);
  1541. }
  1542. static FORCEINLINE HRESULT IAMTimelineGroup_IsSmartRecompressFormatSet(IAMTimelineGroup* This,WINBOOL *set) {
  1543. return This->lpVtbl->IsSmartRecompressFormatSet(This,set);
  1544. }
  1545. static FORCEINLINE HRESULT IAMTimelineGroup_IsRecompressFormatDirty(IAMTimelineGroup* This,WINBOOL *dirty) {
  1546. return This->lpVtbl->IsRecompressFormatDirty(This,dirty);
  1547. }
  1548. static FORCEINLINE HRESULT IAMTimelineGroup_ClearRecompressFormatDirty(IAMTimelineGroup* This) {
  1549. return This->lpVtbl->ClearRecompressFormatDirty(This);
  1550. }
  1551. static FORCEINLINE HRESULT IAMTimelineGroup_SetRecompFormatFromSource(IAMTimelineGroup* This,IAMTimelineSrc *source) {
  1552. return This->lpVtbl->SetRecompFormatFromSource(This,source);
  1553. }
  1554. #endif
  1555. #endif
  1556. #endif
  1557. #endif /* __IAMTimelineGroup_INTERFACE_DEFINED__ */
  1558. /*****************************************************************************
  1559. * IAMTimelineObj interface
  1560. */
  1561. #ifndef __IAMTimelineObj_INTERFACE_DEFINED__
  1562. #define __IAMTimelineObj_INTERFACE_DEFINED__
  1563. DEFINE_GUID(IID_IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
  1564. #if defined(__cplusplus) && !defined(CINTERFACE)
  1565. MIDL_INTERFACE("78530b77-61f9-11d2-8cad-00a024580902")
  1566. IAMTimelineObj : public IUnknown
  1567. {
  1568. virtual HRESULT STDMETHODCALLTYPE GetStartStop(
  1569. REFERENCE_TIME *start,
  1570. REFERENCE_TIME *stop) = 0;
  1571. virtual HRESULT STDMETHODCALLTYPE GetStartStop2(
  1572. REFTIME *start,
  1573. REFTIME *stop) = 0;
  1574. virtual HRESULT STDMETHODCALLTYPE FixTimes(
  1575. REFERENCE_TIME *start,
  1576. REFERENCE_TIME *stop) = 0;
  1577. virtual HRESULT STDMETHODCALLTYPE FixTimes2(
  1578. REFTIME *start,
  1579. REFTIME *stop) = 0;
  1580. virtual HRESULT STDMETHODCALLTYPE SetStartStop(
  1581. REFERENCE_TIME start,
  1582. REFERENCE_TIME stop) = 0;
  1583. virtual HRESULT STDMETHODCALLTYPE SetStartStop2(
  1584. REFTIME start,
  1585. REFTIME stop) = 0;
  1586. virtual HRESULT STDMETHODCALLTYPE GetPropertySetter(
  1587. IPropertySetter **setter) = 0;
  1588. virtual HRESULT STDMETHODCALLTYPE SetPropertySetter(
  1589. IPropertySetter *setter) = 0;
  1590. virtual HRESULT STDMETHODCALLTYPE GetSubObject(
  1591. IUnknown **obj) = 0;
  1592. virtual HRESULT STDMETHODCALLTYPE SetSubObject(
  1593. IUnknown *obj) = 0;
  1594. virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUID(
  1595. GUID guid) = 0;
  1596. virtual HRESULT STDMETHODCALLTYPE SetSubObjectGUIDB(
  1597. BSTR guidb) = 0;
  1598. virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUID(
  1599. GUID *guid) = 0;
  1600. virtual HRESULT STDMETHODCALLTYPE GetSubObjectGUIDB(
  1601. BSTR *guidb) = 0;
  1602. virtual HRESULT STDMETHODCALLTYPE GetSubObjectLoaded(
  1603. WINBOOL *loaded) = 0;
  1604. virtual HRESULT STDMETHODCALLTYPE GetTimelineType(
  1605. TIMELINE_MAJOR_TYPE *type) = 0;
  1606. virtual HRESULT STDMETHODCALLTYPE SetTimelineType(
  1607. TIMELINE_MAJOR_TYPE type) = 0;
  1608. virtual HRESULT STDMETHODCALLTYPE GetUserID(
  1609. LONG *id) = 0;
  1610. virtual HRESULT STDMETHODCALLTYPE SetUserID(
  1611. LONG id) = 0;
  1612. virtual HRESULT STDMETHODCALLTYPE GetGenID(
  1613. LONG *id) = 0;
  1614. virtual HRESULT STDMETHODCALLTYPE GetUserName(
  1615. BSTR *name) = 0;
  1616. virtual HRESULT STDMETHODCALLTYPE SetUserName(
  1617. BSTR name) = 0;
  1618. virtual HRESULT STDMETHODCALLTYPE GetUserData(
  1619. BYTE *data,
  1620. LONG *size) = 0;
  1621. virtual HRESULT STDMETHODCALLTYPE SetUserData(
  1622. BYTE *data,
  1623. LONG size) = 0;
  1624. virtual HRESULT STDMETHODCALLTYPE GetMuted(
  1625. WINBOOL *muted) = 0;
  1626. virtual HRESULT STDMETHODCALLTYPE SetMuted(
  1627. WINBOOL muted) = 0;
  1628. virtual HRESULT STDMETHODCALLTYPE GetLocked(
  1629. WINBOOL *locked) = 0;
  1630. virtual HRESULT STDMETHODCALLTYPE SetLocked(
  1631. WINBOOL locked) = 0;
  1632. virtual HRESULT STDMETHODCALLTYPE GetDirtyRange(
  1633. REFERENCE_TIME *start,
  1634. REFERENCE_TIME *stop) = 0;
  1635. virtual HRESULT STDMETHODCALLTYPE GetDirtyRange2(
  1636. REFTIME *start,
  1637. REFTIME *stop) = 0;
  1638. virtual HRESULT STDMETHODCALLTYPE SetDirtyRange(
  1639. REFERENCE_TIME start,
  1640. REFERENCE_TIME stop) = 0;
  1641. virtual HRESULT STDMETHODCALLTYPE SetDirtyRange2(
  1642. REFTIME start,
  1643. REFTIME stop) = 0;
  1644. virtual HRESULT STDMETHODCALLTYPE ClearDirty(
  1645. ) = 0;
  1646. virtual HRESULT STDMETHODCALLTYPE Remove(
  1647. ) = 0;
  1648. virtual HRESULT STDMETHODCALLTYPE RemoveAll(
  1649. ) = 0;
  1650. virtual HRESULT STDMETHODCALLTYPE GetTimelineNoRef(
  1651. IAMTimeline **timeline) = 0;
  1652. virtual HRESULT STDMETHODCALLTYPE GetGroupIBelongTo(
  1653. IAMTimelineGroup **group) = 0;
  1654. virtual HRESULT STDMETHODCALLTYPE GetEmbedDepth(
  1655. LONG *depth) = 0;
  1656. };
  1657. #ifdef __CRT_UUID_DECL
  1658. __CRT_UUID_DECL(IAMTimelineObj, 0x78530b77, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
  1659. #endif
  1660. #else
  1661. typedef struct IAMTimelineObjVtbl {
  1662. BEGIN_INTERFACE
  1663. /*** IUnknown methods ***/
  1664. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1665. IAMTimelineObj *This,
  1666. REFIID riid,
  1667. void **ppvObject);
  1668. ULONG (STDMETHODCALLTYPE *AddRef)(
  1669. IAMTimelineObj *This);
  1670. ULONG (STDMETHODCALLTYPE *Release)(
  1671. IAMTimelineObj *This);
  1672. /*** IAMTimelineObj methods ***/
  1673. HRESULT (STDMETHODCALLTYPE *GetStartStop)(
  1674. IAMTimelineObj *This,
  1675. REFERENCE_TIME *start,
  1676. REFERENCE_TIME *stop);
  1677. HRESULT (STDMETHODCALLTYPE *GetStartStop2)(
  1678. IAMTimelineObj *This,
  1679. REFTIME *start,
  1680. REFTIME *stop);
  1681. HRESULT (STDMETHODCALLTYPE *FixTimes)(
  1682. IAMTimelineObj *This,
  1683. REFERENCE_TIME *start,
  1684. REFERENCE_TIME *stop);
  1685. HRESULT (STDMETHODCALLTYPE *FixTimes2)(
  1686. IAMTimelineObj *This,
  1687. REFTIME *start,
  1688. REFTIME *stop);
  1689. HRESULT (STDMETHODCALLTYPE *SetStartStop)(
  1690. IAMTimelineObj *This,
  1691. REFERENCE_TIME start,
  1692. REFERENCE_TIME stop);
  1693. HRESULT (STDMETHODCALLTYPE *SetStartStop2)(
  1694. IAMTimelineObj *This,
  1695. REFTIME start,
  1696. REFTIME stop);
  1697. HRESULT (STDMETHODCALLTYPE *GetPropertySetter)(
  1698. IAMTimelineObj *This,
  1699. IPropertySetter **setter);
  1700. HRESULT (STDMETHODCALLTYPE *SetPropertySetter)(
  1701. IAMTimelineObj *This,
  1702. IPropertySetter *setter);
  1703. HRESULT (STDMETHODCALLTYPE *GetSubObject)(
  1704. IAMTimelineObj *This,
  1705. IUnknown **obj);
  1706. HRESULT (STDMETHODCALLTYPE *SetSubObject)(
  1707. IAMTimelineObj *This,
  1708. IUnknown *obj);
  1709. HRESULT (STDMETHODCALLTYPE *SetSubObjectGUID)(
  1710. IAMTimelineObj *This,
  1711. GUID guid);
  1712. HRESULT (STDMETHODCALLTYPE *SetSubObjectGUIDB)(
  1713. IAMTimelineObj *This,
  1714. BSTR guidb);
  1715. HRESULT (STDMETHODCALLTYPE *GetSubObjectGUID)(
  1716. IAMTimelineObj *This,
  1717. GUID *guid);
  1718. HRESULT (STDMETHODCALLTYPE *GetSubObjectGUIDB)(
  1719. IAMTimelineObj *This,
  1720. BSTR *guidb);
  1721. HRESULT (STDMETHODCALLTYPE *GetSubObjectLoaded)(
  1722. IAMTimelineObj *This,
  1723. WINBOOL *loaded);
  1724. HRESULT (STDMETHODCALLTYPE *GetTimelineType)(
  1725. IAMTimelineObj *This,
  1726. TIMELINE_MAJOR_TYPE *type);
  1727. HRESULT (STDMETHODCALLTYPE *SetTimelineType)(
  1728. IAMTimelineObj *This,
  1729. TIMELINE_MAJOR_TYPE type);
  1730. HRESULT (STDMETHODCALLTYPE *GetUserID)(
  1731. IAMTimelineObj *This,
  1732. LONG *id);
  1733. HRESULT (STDMETHODCALLTYPE *SetUserID)(
  1734. IAMTimelineObj *This,
  1735. LONG id);
  1736. HRESULT (STDMETHODCALLTYPE *GetGenID)(
  1737. IAMTimelineObj *This,
  1738. LONG *id);
  1739. HRESULT (STDMETHODCALLTYPE *GetUserName)(
  1740. IAMTimelineObj *This,
  1741. BSTR *name);
  1742. HRESULT (STDMETHODCALLTYPE *SetUserName)(
  1743. IAMTimelineObj *This,
  1744. BSTR name);
  1745. HRESULT (STDMETHODCALLTYPE *GetUserData)(
  1746. IAMTimelineObj *This,
  1747. BYTE *data,
  1748. LONG *size);
  1749. HRESULT (STDMETHODCALLTYPE *SetUserData)(
  1750. IAMTimelineObj *This,
  1751. BYTE *data,
  1752. LONG size);
  1753. HRESULT (STDMETHODCALLTYPE *GetMuted)(
  1754. IAMTimelineObj *This,
  1755. WINBOOL *muted);
  1756. HRESULT (STDMETHODCALLTYPE *SetMuted)(
  1757. IAMTimelineObj *This,
  1758. WINBOOL muted);
  1759. HRESULT (STDMETHODCALLTYPE *GetLocked)(
  1760. IAMTimelineObj *This,
  1761. WINBOOL *locked);
  1762. HRESULT (STDMETHODCALLTYPE *SetLocked)(
  1763. IAMTimelineObj *This,
  1764. WINBOOL locked);
  1765. HRESULT (STDMETHODCALLTYPE *GetDirtyRange)(
  1766. IAMTimelineObj *This,
  1767. REFERENCE_TIME *start,
  1768. REFERENCE_TIME *stop);
  1769. HRESULT (STDMETHODCALLTYPE *GetDirtyRange2)(
  1770. IAMTimelineObj *This,
  1771. REFTIME *start,
  1772. REFTIME *stop);
  1773. HRESULT (STDMETHODCALLTYPE *SetDirtyRange)(
  1774. IAMTimelineObj *This,
  1775. REFERENCE_TIME start,
  1776. REFERENCE_TIME stop);
  1777. HRESULT (STDMETHODCALLTYPE *SetDirtyRange2)(
  1778. IAMTimelineObj *This,
  1779. REFTIME start,
  1780. REFTIME stop);
  1781. HRESULT (STDMETHODCALLTYPE *ClearDirty)(
  1782. IAMTimelineObj *This);
  1783. HRESULT (STDMETHODCALLTYPE *Remove)(
  1784. IAMTimelineObj *This);
  1785. HRESULT (STDMETHODCALLTYPE *RemoveAll)(
  1786. IAMTimelineObj *This);
  1787. HRESULT (STDMETHODCALLTYPE *GetTimelineNoRef)(
  1788. IAMTimelineObj *This,
  1789. IAMTimeline **timeline);
  1790. HRESULT (STDMETHODCALLTYPE *GetGroupIBelongTo)(
  1791. IAMTimelineObj *This,
  1792. IAMTimelineGroup **group);
  1793. HRESULT (STDMETHODCALLTYPE *GetEmbedDepth)(
  1794. IAMTimelineObj *This,
  1795. LONG *depth);
  1796. END_INTERFACE
  1797. } IAMTimelineObjVtbl;
  1798. interface IAMTimelineObj {
  1799. CONST_VTBL IAMTimelineObjVtbl* lpVtbl;
  1800. };
  1801. #ifdef COBJMACROS
  1802. #ifndef WIDL_C_INLINE_WRAPPERS
  1803. /*** IUnknown methods ***/
  1804. #define IAMTimelineObj_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1805. #define IAMTimelineObj_AddRef(This) (This)->lpVtbl->AddRef(This)
  1806. #define IAMTimelineObj_Release(This) (This)->lpVtbl->Release(This)
  1807. /*** IAMTimelineObj methods ***/
  1808. #define IAMTimelineObj_GetStartStop(This,start,stop) (This)->lpVtbl->GetStartStop(This,start,stop)
  1809. #define IAMTimelineObj_GetStartStop2(This,start,stop) (This)->lpVtbl->GetStartStop2(This,start,stop)
  1810. #define IAMTimelineObj_FixTimes(This,start,stop) (This)->lpVtbl->FixTimes(This,start,stop)
  1811. #define IAMTimelineObj_FixTimes2(This,start,stop) (This)->lpVtbl->FixTimes2(This,start,stop)
  1812. #define IAMTimelineObj_SetStartStop(This,start,stop) (This)->lpVtbl->SetStartStop(This,start,stop)
  1813. #define IAMTimelineObj_SetStartStop2(This,start,stop) (This)->lpVtbl->SetStartStop2(This,start,stop)
  1814. #define IAMTimelineObj_GetPropertySetter(This,setter) (This)->lpVtbl->GetPropertySetter(This,setter)
  1815. #define IAMTimelineObj_SetPropertySetter(This,setter) (This)->lpVtbl->SetPropertySetter(This,setter)
  1816. #define IAMTimelineObj_GetSubObject(This,obj) (This)->lpVtbl->GetSubObject(This,obj)
  1817. #define IAMTimelineObj_SetSubObject(This,obj) (This)->lpVtbl->SetSubObject(This,obj)
  1818. #define IAMTimelineObj_SetSubObjectGUID(This,guid) (This)->lpVtbl->SetSubObjectGUID(This,guid)
  1819. #define IAMTimelineObj_SetSubObjectGUIDB(This,guidb) (This)->lpVtbl->SetSubObjectGUIDB(This,guidb)
  1820. #define IAMTimelineObj_GetSubObjectGUID(This,guid) (This)->lpVtbl->GetSubObjectGUID(This,guid)
  1821. #define IAMTimelineObj_GetSubObjectGUIDB(This,guidb) (This)->lpVtbl->GetSubObjectGUIDB(This,guidb)
  1822. #define IAMTimelineObj_GetSubObjectLoaded(This,loaded) (This)->lpVtbl->GetSubObjectLoaded(This,loaded)
  1823. #define IAMTimelineObj_GetTimelineType(This,type) (This)->lpVtbl->GetTimelineType(This,type)
  1824. #define IAMTimelineObj_SetTimelineType(This,type) (This)->lpVtbl->SetTimelineType(This,type)
  1825. #define IAMTimelineObj_GetUserID(This,id) (This)->lpVtbl->GetUserID(This,id)
  1826. #define IAMTimelineObj_SetUserID(This,id) (This)->lpVtbl->SetUserID(This,id)
  1827. #define IAMTimelineObj_GetGenID(This,id) (This)->lpVtbl->GetGenID(This,id)
  1828. #define IAMTimelineObj_GetUserName(This,name) (This)->lpVtbl->GetUserName(This,name)
  1829. #define IAMTimelineObj_SetUserName(This,name) (This)->lpVtbl->SetUserName(This,name)
  1830. #define IAMTimelineObj_GetUserData(This,data,size) (This)->lpVtbl->GetUserData(This,data,size)
  1831. #define IAMTimelineObj_SetUserData(This,data,size) (This)->lpVtbl->SetUserData(This,data,size)
  1832. #define IAMTimelineObj_GetMuted(This,muted) (This)->lpVtbl->GetMuted(This,muted)
  1833. #define IAMTimelineObj_SetMuted(This,muted) (This)->lpVtbl->SetMuted(This,muted)
  1834. #define IAMTimelineObj_GetLocked(This,locked) (This)->lpVtbl->GetLocked(This,locked)
  1835. #define IAMTimelineObj_SetLocked(This,locked) (This)->lpVtbl->SetLocked(This,locked)
  1836. #define IAMTimelineObj_GetDirtyRange(This,start,stop) (This)->lpVtbl->GetDirtyRange(This,start,stop)
  1837. #define IAMTimelineObj_GetDirtyRange2(This,start,stop) (This)->lpVtbl->GetDirtyRange2(This,start,stop)
  1838. #define IAMTimelineObj_SetDirtyRange(This,start,stop) (This)->lpVtbl->SetDirtyRange(This,start,stop)
  1839. #define IAMTimelineObj_SetDirtyRange2(This,start,stop) (This)->lpVtbl->SetDirtyRange2(This,start,stop)
  1840. #define IAMTimelineObj_ClearDirty(This) (This)->lpVtbl->ClearDirty(This)
  1841. #define IAMTimelineObj_Remove(This) (This)->lpVtbl->Remove(This)
  1842. #define IAMTimelineObj_RemoveAll(This) (This)->lpVtbl->RemoveAll(This)
  1843. #define IAMTimelineObj_GetTimelineNoRef(This,timeline) (This)->lpVtbl->GetTimelineNoRef(This,timeline)
  1844. #define IAMTimelineObj_GetGroupIBelongTo(This,group) (This)->lpVtbl->GetGroupIBelongTo(This,group)
  1845. #define IAMTimelineObj_GetEmbedDepth(This,depth) (This)->lpVtbl->GetEmbedDepth(This,depth)
  1846. #else
  1847. /*** IUnknown methods ***/
  1848. static FORCEINLINE HRESULT IAMTimelineObj_QueryInterface(IAMTimelineObj* This,REFIID riid,void **ppvObject) {
  1849. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1850. }
  1851. static FORCEINLINE ULONG IAMTimelineObj_AddRef(IAMTimelineObj* This) {
  1852. return This->lpVtbl->AddRef(This);
  1853. }
  1854. static FORCEINLINE ULONG IAMTimelineObj_Release(IAMTimelineObj* This) {
  1855. return This->lpVtbl->Release(This);
  1856. }
  1857. /*** IAMTimelineObj methods ***/
  1858. static FORCEINLINE HRESULT IAMTimelineObj_GetStartStop(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  1859. return This->lpVtbl->GetStartStop(This,start,stop);
  1860. }
  1861. static FORCEINLINE HRESULT IAMTimelineObj_GetStartStop2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
  1862. return This->lpVtbl->GetStartStop2(This,start,stop);
  1863. }
  1864. static FORCEINLINE HRESULT IAMTimelineObj_FixTimes(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  1865. return This->lpVtbl->FixTimes(This,start,stop);
  1866. }
  1867. static FORCEINLINE HRESULT IAMTimelineObj_FixTimes2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
  1868. return This->lpVtbl->FixTimes2(This,start,stop);
  1869. }
  1870. static FORCEINLINE HRESULT IAMTimelineObj_SetStartStop(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
  1871. return This->lpVtbl->SetStartStop(This,start,stop);
  1872. }
  1873. static FORCEINLINE HRESULT IAMTimelineObj_SetStartStop2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
  1874. return This->lpVtbl->SetStartStop2(This,start,stop);
  1875. }
  1876. static FORCEINLINE HRESULT IAMTimelineObj_GetPropertySetter(IAMTimelineObj* This,IPropertySetter **setter) {
  1877. return This->lpVtbl->GetPropertySetter(This,setter);
  1878. }
  1879. static FORCEINLINE HRESULT IAMTimelineObj_SetPropertySetter(IAMTimelineObj* This,IPropertySetter *setter) {
  1880. return This->lpVtbl->SetPropertySetter(This,setter);
  1881. }
  1882. static FORCEINLINE HRESULT IAMTimelineObj_GetSubObject(IAMTimelineObj* This,IUnknown **obj) {
  1883. return This->lpVtbl->GetSubObject(This,obj);
  1884. }
  1885. static FORCEINLINE HRESULT IAMTimelineObj_SetSubObject(IAMTimelineObj* This,IUnknown *obj) {
  1886. return This->lpVtbl->SetSubObject(This,obj);
  1887. }
  1888. static FORCEINLINE HRESULT IAMTimelineObj_SetSubObjectGUID(IAMTimelineObj* This,GUID guid) {
  1889. return This->lpVtbl->SetSubObjectGUID(This,guid);
  1890. }
  1891. static FORCEINLINE HRESULT IAMTimelineObj_SetSubObjectGUIDB(IAMTimelineObj* This,BSTR guidb) {
  1892. return This->lpVtbl->SetSubObjectGUIDB(This,guidb);
  1893. }
  1894. static FORCEINLINE HRESULT IAMTimelineObj_GetSubObjectGUID(IAMTimelineObj* This,GUID *guid) {
  1895. return This->lpVtbl->GetSubObjectGUID(This,guid);
  1896. }
  1897. static FORCEINLINE HRESULT IAMTimelineObj_GetSubObjectGUIDB(IAMTimelineObj* This,BSTR *guidb) {
  1898. return This->lpVtbl->GetSubObjectGUIDB(This,guidb);
  1899. }
  1900. static FORCEINLINE HRESULT IAMTimelineObj_GetSubObjectLoaded(IAMTimelineObj* This,WINBOOL *loaded) {
  1901. return This->lpVtbl->GetSubObjectLoaded(This,loaded);
  1902. }
  1903. static FORCEINLINE HRESULT IAMTimelineObj_GetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE *type) {
  1904. return This->lpVtbl->GetTimelineType(This,type);
  1905. }
  1906. static FORCEINLINE HRESULT IAMTimelineObj_SetTimelineType(IAMTimelineObj* This,TIMELINE_MAJOR_TYPE type) {
  1907. return This->lpVtbl->SetTimelineType(This,type);
  1908. }
  1909. static FORCEINLINE HRESULT IAMTimelineObj_GetUserID(IAMTimelineObj* This,LONG *id) {
  1910. return This->lpVtbl->GetUserID(This,id);
  1911. }
  1912. static FORCEINLINE HRESULT IAMTimelineObj_SetUserID(IAMTimelineObj* This,LONG id) {
  1913. return This->lpVtbl->SetUserID(This,id);
  1914. }
  1915. static FORCEINLINE HRESULT IAMTimelineObj_GetGenID(IAMTimelineObj* This,LONG *id) {
  1916. return This->lpVtbl->GetGenID(This,id);
  1917. }
  1918. static FORCEINLINE HRESULT IAMTimelineObj_GetUserName(IAMTimelineObj* This,BSTR *name) {
  1919. return This->lpVtbl->GetUserName(This,name);
  1920. }
  1921. static FORCEINLINE HRESULT IAMTimelineObj_SetUserName(IAMTimelineObj* This,BSTR name) {
  1922. return This->lpVtbl->SetUserName(This,name);
  1923. }
  1924. static FORCEINLINE HRESULT IAMTimelineObj_GetUserData(IAMTimelineObj* This,BYTE *data,LONG *size) {
  1925. return This->lpVtbl->GetUserData(This,data,size);
  1926. }
  1927. static FORCEINLINE HRESULT IAMTimelineObj_SetUserData(IAMTimelineObj* This,BYTE *data,LONG size) {
  1928. return This->lpVtbl->SetUserData(This,data,size);
  1929. }
  1930. static FORCEINLINE HRESULT IAMTimelineObj_GetMuted(IAMTimelineObj* This,WINBOOL *muted) {
  1931. return This->lpVtbl->GetMuted(This,muted);
  1932. }
  1933. static FORCEINLINE HRESULT IAMTimelineObj_SetMuted(IAMTimelineObj* This,WINBOOL muted) {
  1934. return This->lpVtbl->SetMuted(This,muted);
  1935. }
  1936. static FORCEINLINE HRESULT IAMTimelineObj_GetLocked(IAMTimelineObj* This,WINBOOL *locked) {
  1937. return This->lpVtbl->GetLocked(This,locked);
  1938. }
  1939. static FORCEINLINE HRESULT IAMTimelineObj_SetLocked(IAMTimelineObj* This,WINBOOL locked) {
  1940. return This->lpVtbl->SetLocked(This,locked);
  1941. }
  1942. static FORCEINLINE HRESULT IAMTimelineObj_GetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  1943. return This->lpVtbl->GetDirtyRange(This,start,stop);
  1944. }
  1945. static FORCEINLINE HRESULT IAMTimelineObj_GetDirtyRange2(IAMTimelineObj* This,REFTIME *start,REFTIME *stop) {
  1946. return This->lpVtbl->GetDirtyRange2(This,start,stop);
  1947. }
  1948. static FORCEINLINE HRESULT IAMTimelineObj_SetDirtyRange(IAMTimelineObj* This,REFERENCE_TIME start,REFERENCE_TIME stop) {
  1949. return This->lpVtbl->SetDirtyRange(This,start,stop);
  1950. }
  1951. static FORCEINLINE HRESULT IAMTimelineObj_SetDirtyRange2(IAMTimelineObj* This,REFTIME start,REFTIME stop) {
  1952. return This->lpVtbl->SetDirtyRange2(This,start,stop);
  1953. }
  1954. static FORCEINLINE HRESULT IAMTimelineObj_ClearDirty(IAMTimelineObj* This) {
  1955. return This->lpVtbl->ClearDirty(This);
  1956. }
  1957. static FORCEINLINE HRESULT IAMTimelineObj_Remove(IAMTimelineObj* This) {
  1958. return This->lpVtbl->Remove(This);
  1959. }
  1960. static FORCEINLINE HRESULT IAMTimelineObj_RemoveAll(IAMTimelineObj* This) {
  1961. return This->lpVtbl->RemoveAll(This);
  1962. }
  1963. static FORCEINLINE HRESULT IAMTimelineObj_GetTimelineNoRef(IAMTimelineObj* This,IAMTimeline **timeline) {
  1964. return This->lpVtbl->GetTimelineNoRef(This,timeline);
  1965. }
  1966. static FORCEINLINE HRESULT IAMTimelineObj_GetGroupIBelongTo(IAMTimelineObj* This,IAMTimelineGroup **group) {
  1967. return This->lpVtbl->GetGroupIBelongTo(This,group);
  1968. }
  1969. static FORCEINLINE HRESULT IAMTimelineObj_GetEmbedDepth(IAMTimelineObj* This,LONG *depth) {
  1970. return This->lpVtbl->GetEmbedDepth(This,depth);
  1971. }
  1972. #endif
  1973. #endif
  1974. #endif
  1975. #endif /* __IAMTimelineObj_INTERFACE_DEFINED__ */
  1976. /*****************************************************************************
  1977. * IAMTimelineSrc interface
  1978. */
  1979. #ifndef __IAMTimelineSrc_INTERFACE_DEFINED__
  1980. #define __IAMTimelineSrc_INTERFACE_DEFINED__
  1981. DEFINE_GUID(IID_IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02);
  1982. #if defined(__cplusplus) && !defined(CINTERFACE)
  1983. MIDL_INTERFACE("78530b79-61f9-11d2-8cad-00a024580902")
  1984. IAMTimelineSrc : public IUnknown
  1985. {
  1986. virtual HRESULT STDMETHODCALLTYPE GetMediaTimes(
  1987. REFERENCE_TIME *start,
  1988. REFERENCE_TIME *stop) = 0;
  1989. virtual HRESULT STDMETHODCALLTYPE GetMediaTimes2(
  1990. REFTIME *start,
  1991. REFTIME *stop) = 0;
  1992. virtual HRESULT STDMETHODCALLTYPE ModifyStopTime(
  1993. REFERENCE_TIME stop) = 0;
  1994. virtual HRESULT STDMETHODCALLTYPE ModifyStopTime2(
  1995. REFTIME stop) = 0;
  1996. virtual HRESULT STDMETHODCALLTYPE FixMediaTimes(
  1997. REFERENCE_TIME *start,
  1998. REFERENCE_TIME *stop) = 0;
  1999. virtual HRESULT STDMETHODCALLTYPE FixMediaTimes2(
  2000. REFTIME *start,
  2001. REFTIME *stop) = 0;
  2002. virtual HRESULT STDMETHODCALLTYPE SetMediaTimes(
  2003. REFERENCE_TIME Start,
  2004. REFERENCE_TIME Stop) = 0;
  2005. virtual HRESULT STDMETHODCALLTYPE SetMediaTimes2(
  2006. REFTIME Start,
  2007. REFTIME Stop) = 0;
  2008. virtual HRESULT STDMETHODCALLTYPE SetMediaLength(
  2009. REFERENCE_TIME length) = 0;
  2010. virtual HRESULT STDMETHODCALLTYPE SetMediaLength2(
  2011. REFTIME length) = 0;
  2012. virtual HRESULT STDMETHODCALLTYPE GetMediaLength(
  2013. REFERENCE_TIME *length) = 0;
  2014. virtual HRESULT STDMETHODCALLTYPE GetMediaLength2(
  2015. REFTIME *length) = 0;
  2016. virtual HRESULT STDMETHODCALLTYPE GetMediaName(
  2017. BSTR *name) = 0;
  2018. virtual HRESULT STDMETHODCALLTYPE SetMediaName(
  2019. BSTR name) = 0;
  2020. virtual HRESULT STDMETHODCALLTYPE SpliceWithNext(
  2021. IAMTimelineObj *next) = 0;
  2022. virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
  2023. LONG *num) = 0;
  2024. virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
  2025. LONG num) = 0;
  2026. virtual HRESULT STDMETHODCALLTYPE IsNormalRate(
  2027. WINBOOL *normal) = 0;
  2028. virtual HRESULT STDMETHODCALLTYPE GetDefaultFPS(
  2029. double *fps) = 0;
  2030. virtual HRESULT STDMETHODCALLTYPE SetDefaultFPS(
  2031. double fps) = 0;
  2032. virtual HRESULT STDMETHODCALLTYPE GetStretchMode(
  2033. int *mode) = 0;
  2034. virtual HRESULT STDMETHODCALLTYPE SetStretchMode(
  2035. int mode) = 0;
  2036. };
  2037. #ifdef __CRT_UUID_DECL
  2038. __CRT_UUID_DECL(IAMTimelineSrc, 0x78530b79, 0x61f9, 0x11d2, 0x8c,0xad, 0x00,0xa0,0x24,0x58,0x09,0x02)
  2039. #endif
  2040. #else
  2041. typedef struct IAMTimelineSrcVtbl {
  2042. BEGIN_INTERFACE
  2043. /*** IUnknown methods ***/
  2044. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2045. IAMTimelineSrc *This,
  2046. REFIID riid,
  2047. void **ppvObject);
  2048. ULONG (STDMETHODCALLTYPE *AddRef)(
  2049. IAMTimelineSrc *This);
  2050. ULONG (STDMETHODCALLTYPE *Release)(
  2051. IAMTimelineSrc *This);
  2052. /*** IAMTimelineSrc methods ***/
  2053. HRESULT (STDMETHODCALLTYPE *GetMediaTimes)(
  2054. IAMTimelineSrc *This,
  2055. REFERENCE_TIME *start,
  2056. REFERENCE_TIME *stop);
  2057. HRESULT (STDMETHODCALLTYPE *GetMediaTimes2)(
  2058. IAMTimelineSrc *This,
  2059. REFTIME *start,
  2060. REFTIME *stop);
  2061. HRESULT (STDMETHODCALLTYPE *ModifyStopTime)(
  2062. IAMTimelineSrc *This,
  2063. REFERENCE_TIME stop);
  2064. HRESULT (STDMETHODCALLTYPE *ModifyStopTime2)(
  2065. IAMTimelineSrc *This,
  2066. REFTIME stop);
  2067. HRESULT (STDMETHODCALLTYPE *FixMediaTimes)(
  2068. IAMTimelineSrc *This,
  2069. REFERENCE_TIME *start,
  2070. REFERENCE_TIME *stop);
  2071. HRESULT (STDMETHODCALLTYPE *FixMediaTimes2)(
  2072. IAMTimelineSrc *This,
  2073. REFTIME *start,
  2074. REFTIME *stop);
  2075. HRESULT (STDMETHODCALLTYPE *SetMediaTimes)(
  2076. IAMTimelineSrc *This,
  2077. REFERENCE_TIME Start,
  2078. REFERENCE_TIME Stop);
  2079. HRESULT (STDMETHODCALLTYPE *SetMediaTimes2)(
  2080. IAMTimelineSrc *This,
  2081. REFTIME Start,
  2082. REFTIME Stop);
  2083. HRESULT (STDMETHODCALLTYPE *SetMediaLength)(
  2084. IAMTimelineSrc *This,
  2085. REFERENCE_TIME length);
  2086. HRESULT (STDMETHODCALLTYPE *SetMediaLength2)(
  2087. IAMTimelineSrc *This,
  2088. REFTIME length);
  2089. HRESULT (STDMETHODCALLTYPE *GetMediaLength)(
  2090. IAMTimelineSrc *This,
  2091. REFERENCE_TIME *length);
  2092. HRESULT (STDMETHODCALLTYPE *GetMediaLength2)(
  2093. IAMTimelineSrc *This,
  2094. REFTIME *length);
  2095. HRESULT (STDMETHODCALLTYPE *GetMediaName)(
  2096. IAMTimelineSrc *This,
  2097. BSTR *name);
  2098. HRESULT (STDMETHODCALLTYPE *SetMediaName)(
  2099. IAMTimelineSrc *This,
  2100. BSTR name);
  2101. HRESULT (STDMETHODCALLTYPE *SpliceWithNext)(
  2102. IAMTimelineSrc *This,
  2103. IAMTimelineObj *next);
  2104. HRESULT (STDMETHODCALLTYPE *GetStreamNumber)(
  2105. IAMTimelineSrc *This,
  2106. LONG *num);
  2107. HRESULT (STDMETHODCALLTYPE *SetStreamNumber)(
  2108. IAMTimelineSrc *This,
  2109. LONG num);
  2110. HRESULT (STDMETHODCALLTYPE *IsNormalRate)(
  2111. IAMTimelineSrc *This,
  2112. WINBOOL *normal);
  2113. HRESULT (STDMETHODCALLTYPE *GetDefaultFPS)(
  2114. IAMTimelineSrc *This,
  2115. double *fps);
  2116. HRESULT (STDMETHODCALLTYPE *SetDefaultFPS)(
  2117. IAMTimelineSrc *This,
  2118. double fps);
  2119. HRESULT (STDMETHODCALLTYPE *GetStretchMode)(
  2120. IAMTimelineSrc *This,
  2121. int *mode);
  2122. HRESULT (STDMETHODCALLTYPE *SetStretchMode)(
  2123. IAMTimelineSrc *This,
  2124. int mode);
  2125. END_INTERFACE
  2126. } IAMTimelineSrcVtbl;
  2127. interface IAMTimelineSrc {
  2128. CONST_VTBL IAMTimelineSrcVtbl* lpVtbl;
  2129. };
  2130. #ifdef COBJMACROS
  2131. #ifndef WIDL_C_INLINE_WRAPPERS
  2132. /*** IUnknown methods ***/
  2133. #define IAMTimelineSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2134. #define IAMTimelineSrc_AddRef(This) (This)->lpVtbl->AddRef(This)
  2135. #define IAMTimelineSrc_Release(This) (This)->lpVtbl->Release(This)
  2136. /*** IAMTimelineSrc methods ***/
  2137. #define IAMTimelineSrc_GetMediaTimes(This,start,stop) (This)->lpVtbl->GetMediaTimes(This,start,stop)
  2138. #define IAMTimelineSrc_GetMediaTimes2(This,start,stop) (This)->lpVtbl->GetMediaTimes2(This,start,stop)
  2139. #define IAMTimelineSrc_ModifyStopTime(This,stop) (This)->lpVtbl->ModifyStopTime(This,stop)
  2140. #define IAMTimelineSrc_ModifyStopTime2(This,stop) (This)->lpVtbl->ModifyStopTime2(This,stop)
  2141. #define IAMTimelineSrc_FixMediaTimes(This,start,stop) (This)->lpVtbl->FixMediaTimes(This,start,stop)
  2142. #define IAMTimelineSrc_FixMediaTimes2(This,start,stop) (This)->lpVtbl->FixMediaTimes2(This,start,stop)
  2143. #define IAMTimelineSrc_SetMediaTimes(This,Start,Stop) (This)->lpVtbl->SetMediaTimes(This,Start,Stop)
  2144. #define IAMTimelineSrc_SetMediaTimes2(This,Start,Stop) (This)->lpVtbl->SetMediaTimes2(This,Start,Stop)
  2145. #define IAMTimelineSrc_SetMediaLength(This,length) (This)->lpVtbl->SetMediaLength(This,length)
  2146. #define IAMTimelineSrc_SetMediaLength2(This,length) (This)->lpVtbl->SetMediaLength2(This,length)
  2147. #define IAMTimelineSrc_GetMediaLength(This,length) (This)->lpVtbl->GetMediaLength(This,length)
  2148. #define IAMTimelineSrc_GetMediaLength2(This,length) (This)->lpVtbl->GetMediaLength2(This,length)
  2149. #define IAMTimelineSrc_GetMediaName(This,name) (This)->lpVtbl->GetMediaName(This,name)
  2150. #define IAMTimelineSrc_SetMediaName(This,name) (This)->lpVtbl->SetMediaName(This,name)
  2151. #define IAMTimelineSrc_SpliceWithNext(This,next) (This)->lpVtbl->SpliceWithNext(This,next)
  2152. #define IAMTimelineSrc_GetStreamNumber(This,num) (This)->lpVtbl->GetStreamNumber(This,num)
  2153. #define IAMTimelineSrc_SetStreamNumber(This,num) (This)->lpVtbl->SetStreamNumber(This,num)
  2154. #define IAMTimelineSrc_IsNormalRate(This,normal) (This)->lpVtbl->IsNormalRate(This,normal)
  2155. #define IAMTimelineSrc_GetDefaultFPS(This,fps) (This)->lpVtbl->GetDefaultFPS(This,fps)
  2156. #define IAMTimelineSrc_SetDefaultFPS(This,fps) (This)->lpVtbl->SetDefaultFPS(This,fps)
  2157. #define IAMTimelineSrc_GetStretchMode(This,mode) (This)->lpVtbl->GetStretchMode(This,mode)
  2158. #define IAMTimelineSrc_SetStretchMode(This,mode) (This)->lpVtbl->SetStretchMode(This,mode)
  2159. #else
  2160. /*** IUnknown methods ***/
  2161. static FORCEINLINE HRESULT IAMTimelineSrc_QueryInterface(IAMTimelineSrc* This,REFIID riid,void **ppvObject) {
  2162. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2163. }
  2164. static FORCEINLINE ULONG IAMTimelineSrc_AddRef(IAMTimelineSrc* This) {
  2165. return This->lpVtbl->AddRef(This);
  2166. }
  2167. static FORCEINLINE ULONG IAMTimelineSrc_Release(IAMTimelineSrc* This) {
  2168. return This->lpVtbl->Release(This);
  2169. }
  2170. /*** IAMTimelineSrc methods ***/
  2171. static FORCEINLINE HRESULT IAMTimelineSrc_GetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  2172. return This->lpVtbl->GetMediaTimes(This,start,stop);
  2173. }
  2174. static FORCEINLINE HRESULT IAMTimelineSrc_GetMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
  2175. return This->lpVtbl->GetMediaTimes2(This,start,stop);
  2176. }
  2177. static FORCEINLINE HRESULT IAMTimelineSrc_ModifyStopTime(IAMTimelineSrc* This,REFERENCE_TIME stop) {
  2178. return This->lpVtbl->ModifyStopTime(This,stop);
  2179. }
  2180. static FORCEINLINE HRESULT IAMTimelineSrc_ModifyStopTime2(IAMTimelineSrc* This,REFTIME stop) {
  2181. return This->lpVtbl->ModifyStopTime2(This,stop);
  2182. }
  2183. static FORCEINLINE HRESULT IAMTimelineSrc_FixMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME *start,REFERENCE_TIME *stop) {
  2184. return This->lpVtbl->FixMediaTimes(This,start,stop);
  2185. }
  2186. static FORCEINLINE HRESULT IAMTimelineSrc_FixMediaTimes2(IAMTimelineSrc* This,REFTIME *start,REFTIME *stop) {
  2187. return This->lpVtbl->FixMediaTimes2(This,start,stop);
  2188. }
  2189. static FORCEINLINE HRESULT IAMTimelineSrc_SetMediaTimes(IAMTimelineSrc* This,REFERENCE_TIME Start,REFERENCE_TIME Stop) {
  2190. return This->lpVtbl->SetMediaTimes(This,Start,Stop);
  2191. }
  2192. static FORCEINLINE HRESULT IAMTimelineSrc_SetMediaTimes2(IAMTimelineSrc* This,REFTIME Start,REFTIME Stop) {
  2193. return This->lpVtbl->SetMediaTimes2(This,Start,Stop);
  2194. }
  2195. static FORCEINLINE HRESULT IAMTimelineSrc_SetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME length) {
  2196. return This->lpVtbl->SetMediaLength(This,length);
  2197. }
  2198. static FORCEINLINE HRESULT IAMTimelineSrc_SetMediaLength2(IAMTimelineSrc* This,REFTIME length) {
  2199. return This->lpVtbl->SetMediaLength2(This,length);
  2200. }
  2201. static FORCEINLINE HRESULT IAMTimelineSrc_GetMediaLength(IAMTimelineSrc* This,REFERENCE_TIME *length) {
  2202. return This->lpVtbl->GetMediaLength(This,length);
  2203. }
  2204. static FORCEINLINE HRESULT IAMTimelineSrc_GetMediaLength2(IAMTimelineSrc* This,REFTIME *length) {
  2205. return This->lpVtbl->GetMediaLength2(This,length);
  2206. }
  2207. static FORCEINLINE HRESULT IAMTimelineSrc_GetMediaName(IAMTimelineSrc* This,BSTR *name) {
  2208. return This->lpVtbl->GetMediaName(This,name);
  2209. }
  2210. static FORCEINLINE HRESULT IAMTimelineSrc_SetMediaName(IAMTimelineSrc* This,BSTR name) {
  2211. return This->lpVtbl->SetMediaName(This,name);
  2212. }
  2213. static FORCEINLINE HRESULT IAMTimelineSrc_SpliceWithNext(IAMTimelineSrc* This,IAMTimelineObj *next) {
  2214. return This->lpVtbl->SpliceWithNext(This,next);
  2215. }
  2216. static FORCEINLINE HRESULT IAMTimelineSrc_GetStreamNumber(IAMTimelineSrc* This,LONG *num) {
  2217. return This->lpVtbl->GetStreamNumber(This,num);
  2218. }
  2219. static FORCEINLINE HRESULT IAMTimelineSrc_SetStreamNumber(IAMTimelineSrc* This,LONG num) {
  2220. return This->lpVtbl->SetStreamNumber(This,num);
  2221. }
  2222. static FORCEINLINE HRESULT IAMTimelineSrc_IsNormalRate(IAMTimelineSrc* This,WINBOOL *normal) {
  2223. return This->lpVtbl->IsNormalRate(This,normal);
  2224. }
  2225. static FORCEINLINE HRESULT IAMTimelineSrc_GetDefaultFPS(IAMTimelineSrc* This,double *fps) {
  2226. return This->lpVtbl->GetDefaultFPS(This,fps);
  2227. }
  2228. static FORCEINLINE HRESULT IAMTimelineSrc_SetDefaultFPS(IAMTimelineSrc* This,double fps) {
  2229. return This->lpVtbl->SetDefaultFPS(This,fps);
  2230. }
  2231. static FORCEINLINE HRESULT IAMTimelineSrc_GetStretchMode(IAMTimelineSrc* This,int *mode) {
  2232. return This->lpVtbl->GetStretchMode(This,mode);
  2233. }
  2234. static FORCEINLINE HRESULT IAMTimelineSrc_SetStretchMode(IAMTimelineSrc* This,int mode) {
  2235. return This->lpVtbl->SetStretchMode(This,mode);
  2236. }
  2237. #endif
  2238. #endif
  2239. #endif
  2240. #endif /* __IAMTimelineSrc_INTERFACE_DEFINED__ */
  2241. enum {
  2242. E_NOTINTREE = 0x80040400,
  2243. E_RENDER_ENGINE_IS_BROKEN = 0x80040401,
  2244. E_MUST_INIT_RENDERER = 0x80040402,
  2245. E_NOTDETERMINED = 0x80040403,
  2246. E_NO_TIMELINE = 0x80040404,
  2247. S_WARN_OUTPUTRESET = 40404
  2248. };
  2249. /* Begin additional prototypes for all interfaces */
  2250. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  2251. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  2252. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  2253. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  2254. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  2255. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  2256. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  2257. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  2258. /* End additional prototypes */
  2259. #ifdef __cplusplus
  2260. }
  2261. #endif
  2262. #endif /* __qedit_h__ */