mediaobj.idl 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * Copyright (C) 2002 Alexandre Julliard
  3. * Copyright (C) 2004 Vincent Béron
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2.1 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the Free Software
  17. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  18. */
  19. cpp_quote("#ifndef COM_NO_WINDOWS_H")
  20. cpp_quote("#include <windows.h>")
  21. cpp_quote("#include <ole2.h>")
  22. cpp_quote("#endif")
  23. import "unknwn.idl";
  24. import "objidl.idl";
  25. interface IDMOQualityControl;
  26. interface IDMOVideoOutputOptimizations;
  27. interface IMediaBuffer;
  28. interface IMediaObject;
  29. interface IMediaObjectInPlace;
  30. typedef struct _DMOMediaType
  31. {
  32. GUID majortype;
  33. GUID subtype;
  34. BOOL bFixedSizeSamples;
  35. BOOL bTemporalCompression;
  36. ULONG lSampleSize;
  37. GUID formattype;
  38. IUnknown *pUnk;
  39. ULONG cbFormat;
  40. BYTE *pbFormat;
  41. } DMO_MEDIA_TYPE;
  42. /*****************************************************************************
  43. * IEnumDMO interface
  44. */
  45. [
  46. object,
  47. uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F),
  48. pointer_default(unique)
  49. ]
  50. interface IEnumDMO : IUnknown
  51. {
  52. [local]
  53. HRESULT Next(
  54. [in] DWORD cItemsToFetch,
  55. [out] CLSID *pCLSID,
  56. [out] WCHAR **Names,
  57. [out] DWORD *pcItemsFetched
  58. );
  59. HRESULT Skip(
  60. [in] DWORD cItemsToSkip
  61. );
  62. HRESULT Reset();
  63. HRESULT Clone(
  64. [out] IEnumDMO **ppEnum
  65. );
  66. }