Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

410 lines
7.5 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. mp2prop.h
  5. Abstract:
  6. This module contains the class declarations for the filter
  7. properties
  8. Author:
  9. Matthijs Gates (mgates)
  10. Revision History:
  11. 06-Jul-1999 created
  12. --*/
  13. #ifndef _mp2demux__prop_h
  14. #define _mp2demux__prop_h
  15. // forward declarations
  16. class CMPEG2PropOutputPins ;
  17. class CMPEG2PropPIDMap ;
  18. class CListview ;
  19. // ---------------------------------------------------------------------------
  20. // property page GUIDs
  21. // ---------------------------------------------------------------------------
  22. // output pin manipulation
  23. // {960F051B-A25C-4ac4-8D30-050CD47A814F}
  24. DEFINE_GUID (CLSID_MPEG2DemuxPropOutputPins,
  25. 0x960f051b, 0xa25c, 0x4ac4, 0x8d, 0x30, 0x5, 0xc, 0xd4, 0x7a, 0x81, 0x4f) ;
  26. // PID mappings
  27. // {ae83f13d-51b5-4a85-8c3a-ecc9f50c557a}
  28. DEFINE_GUID (CLSID_MPEG2DemuxPropPIDMap,
  29. 0xae83f13d, 0x51b5, 0x4a85, 0x8c, 0x3a, 0xec, 0xc9, 0xf5, 0xc, 0x55, 0x7a) ;
  30. // stream_id mappings
  31. // {E04BBB8F-CB77-499e-B815-468B1C3ED88F}
  32. DEFINE_GUID(CLSID_MPEG2DemuxPropStreamIdMap,
  33. 0xe04bbb8f, 0xcb77, 0x499e, 0xb8, 0x15, 0x46, 0x8b, 0x1c, 0x3e, 0xd8, 0x8f) ;
  34. // ---------------------------------------------------------------------------
  35. // class declarations
  36. // ---------------------------------------------------------------------------
  37. // output pin manipulation property page
  38. class CMPEG2PropOutputPins :
  39. public CBasePropertyPage
  40. {
  41. IMpeg2Demultiplexer * m_pIMpeg2Demultiplexer ;
  42. HWND m_hwnd ;
  43. HRESULT
  44. RefreshPinList_ (
  45. ) ;
  46. HRESULT
  47. PopulateComboBoxes_ (
  48. ) ;
  49. HRESULT
  50. TearDownPinList_ (
  51. ) ;
  52. HRESULT
  53. OnCreatePin_ (
  54. ) ;
  55. HRESULT
  56. OnDeletePin_ (
  57. ) ;
  58. void
  59. SetDirty_ (
  60. IN BOOL fDirty = TRUE
  61. ) ;
  62. public :
  63. CMPEG2PropOutputPins (
  64. IN TCHAR * pClassName,
  65. IN IUnknown * pIUnknown,
  66. IN REFCLSID rclsid,
  67. OUT HRESULT * pHr
  68. ) ;
  69. HRESULT
  70. OnActivate (
  71. ) ;
  72. HRESULT
  73. OnApplyChanges (
  74. ) ;
  75. HRESULT
  76. OnConnect (
  77. IN IUnknown * pIUnknown
  78. ) ;
  79. HRESULT
  80. OnDeactivate (
  81. ) ;
  82. HRESULT
  83. OnDisconnect (
  84. ) ;
  85. INT_PTR
  86. OnReceiveMessage (
  87. IN HWND hwnd,
  88. IN UINT uMsg,
  89. IN WPARAM wParam,
  90. IN LPARAM lParam
  91. ) ;
  92. DECLARE_IUNKNOWN ;
  93. static
  94. CUnknown *
  95. WINAPI
  96. CreateInstance (
  97. IN IUnknown * pIUnknown,
  98. IN HRESULT * pHr
  99. ) ;
  100. } ;
  101. // PID mappings property page
  102. class CMpeg2PropStreamMap :
  103. public CBasePropertyPage
  104. {
  105. HRESULT
  106. PopulatePinList_ (
  107. ) ;
  108. HRESULT
  109. TearDownPinList_ (
  110. ) ;
  111. protected :
  112. HRESULT
  113. RefreshStreamMap_ (
  114. );
  115. virtual
  116. HRESULT
  117. PopulateStreamList_ (
  118. ) = 0 ;
  119. virtual
  120. HRESULT
  121. PopulateMediaSampleContentList_ (
  122. ) = 0 ;
  123. virtual
  124. HRESULT
  125. OnMapStream_ (
  126. ) = 0 ;
  127. virtual
  128. HRESULT
  129. OnUnmapStream_ (
  130. ) = 0 ;
  131. virtual
  132. HRESULT
  133. TearDownStreamMap_ (
  134. ) = 0 ;
  135. virtual
  136. HRESULT
  137. AppendStreamMaps (
  138. IN IPin * pIPin,
  139. IN CListview * plv
  140. ) = 0 ;
  141. virtual
  142. int
  143. GetStreamMapColCount (
  144. ) = 0 ;
  145. virtual
  146. WCHAR *
  147. GetStreamMapColTitle (
  148. IN int iCol
  149. ) = 0 ;
  150. virtual
  151. int
  152. GetStreamMapColWidth (
  153. IN int iCol
  154. ) = 0 ;
  155. virtual
  156. void
  157. DialogInit_ (
  158. ) = 0 ;
  159. HWND m_hwnd ;
  160. IUnknown * m_pIUnknown ;
  161. public :
  162. CMpeg2PropStreamMap (
  163. IN TCHAR * pClassName,
  164. IN IUnknown * pIUnknown,
  165. IN REFCLSID rclsid,
  166. IN int iTitleStringResource,
  167. OUT HRESULT * pHr
  168. ) ;
  169. void
  170. SetDirty (
  171. IN BOOL fDirty = TRUE
  172. ) ;
  173. HRESULT
  174. OnActivate (
  175. ) ;
  176. HRESULT
  177. OnApplyChanges (
  178. ) ;
  179. HRESULT
  180. OnConnect (
  181. IN IUnknown * pIUnknown
  182. ) ;
  183. HRESULT
  184. OnDeactivate (
  185. ) ;
  186. HRESULT
  187. OnDisconnect (
  188. ) ;
  189. INT_PTR
  190. OnReceiveMessage (
  191. IN HWND hwnd,
  192. IN UINT uMsg,
  193. IN WPARAM wParam,
  194. IN LPARAM lParam
  195. ) ;
  196. } ;
  197. class CMPEG2PropPIDMap :
  198. public CMpeg2PropStreamMap
  199. {
  200. virtual
  201. HRESULT
  202. PopulateStreamList_ (
  203. ) ;
  204. virtual
  205. HRESULT
  206. TearDownStreamMap_ (
  207. ) ;
  208. virtual
  209. HRESULT
  210. PopulateMediaSampleContentList_ (
  211. ) ;
  212. virtual
  213. HRESULT
  214. OnMapStream_ (
  215. ) ;
  216. virtual
  217. HRESULT
  218. OnUnmapStream_ (
  219. ) ;
  220. virtual
  221. HRESULT
  222. AppendStreamMaps (
  223. IN IPin * pIPin,
  224. IN CListview * plv
  225. ) ;
  226. virtual
  227. int
  228. GetStreamMapColCount (
  229. ) ;
  230. virtual
  231. WCHAR *
  232. GetStreamMapColTitle (
  233. IN int iCol
  234. ) ;
  235. virtual
  236. int
  237. GetStreamMapColWidth (
  238. IN int iCol
  239. ) ;
  240. virtual
  241. void
  242. DialogInit_ (
  243. ) ;
  244. public :
  245. CMPEG2PropPIDMap (
  246. IN TCHAR * pClassName,
  247. IN IUnknown * pIUnknown,
  248. IN REFCLSID rclsid,
  249. OUT HRESULT * pHr
  250. ) ;
  251. DECLARE_IUNKNOWN ;
  252. static
  253. CUnknown *
  254. WINAPI
  255. CreateInstance (
  256. IN IUnknown * pIUnknown,
  257. IN HRESULT * pHr
  258. ) ;
  259. } ;
  260. class CMPEG2PropStreamIdMap :
  261. public CMpeg2PropStreamMap
  262. {
  263. virtual
  264. HRESULT
  265. PopulateStreamList_ (
  266. ) ;
  267. virtual
  268. HRESULT
  269. TearDownStreamMap_ (
  270. ) ;
  271. virtual
  272. HRESULT
  273. PopulateMediaSampleContentList_ (
  274. ) ;
  275. virtual
  276. HRESULT
  277. OnMapStream_ (
  278. ) ;
  279. virtual
  280. HRESULT
  281. OnUnmapStream_ (
  282. ) ;
  283. virtual
  284. HRESULT
  285. AppendStreamMaps (
  286. IN IPin * pIPin,
  287. IN CListview * plv
  288. ) ;
  289. virtual
  290. WCHAR *
  291. GetStreamMapColTitle (
  292. IN int iCol
  293. ) ;
  294. virtual
  295. int
  296. GetStreamMapColCount (
  297. ) ;
  298. virtual
  299. int
  300. GetStreamMapColWidth (
  301. IN int iCol
  302. ) ;
  303. virtual
  304. void
  305. DialogInit_ (
  306. ) ;
  307. public :
  308. CMPEG2PropStreamIdMap (
  309. IN TCHAR * pClassName,
  310. IN IUnknown * pIUnknown,
  311. IN REFCLSID rclsid,
  312. OUT HRESULT * pHr
  313. ) ;
  314. DECLARE_IUNKNOWN ;
  315. static
  316. CUnknown *
  317. WINAPI
  318. CreateInstance (
  319. IN IUnknown * pIUnknown,
  320. IN HRESULT * pHr
  321. ) ;
  322. } ;
  323. #endif // _mp2demux__prop_h