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.

131 lines
4.2 KiB

  1. //------------------------------------------------------------------------------
  2. // File: PerfStruct.h
  3. //
  4. // Desc: Structures for DirectShow performance logging.
  5. //
  6. //@@BEGIN_MSINTERNAL
  7. //
  8. // 1.0 15-NOV-1999 clorton Created.
  9. //
  10. //@@END_MSINTERNAL
  11. // Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
  12. //------------------------------------------------------------------------------
  13. #ifndef _PERFSTRUCT_H_
  14. #define _PERFSTRUCT_H_
  15. #include <wmistr.h>
  16. #include <evntrace.h>
  17. // {28CF047A-2437-4b24-B653-B9446A419A69}
  18. DEFINE_GUID(GUID_DSHOW_CTL,
  19. 0x28cf047a, 0x2437, 0x4b24, 0xb6, 0x53, 0xb9, 0x44, 0x6a, 0x41, 0x9a, 0x69);
  20. // {D0DA7AD6-AE80-4de5-AAFC-C126711E7593}
  21. DEFINE_GUID(GUID_VIDEOREND,
  22. 0xd0da7ad6, 0xae80, 0x4de5, 0xaa, 0xfc, 0xc1, 0x26, 0x71, 0x1e, 0x75, 0x93);
  23. // {DC70AC3E-93E5-48db-88AB-E42064EC276A}
  24. DEFINE_GUID(GUID_DSOUNDGLITCH,
  25. 0xdc70ac3e, 0x93e5, 0x48db, 0x88, 0xab, 0xe4, 0x20, 0x64, 0xec, 0x27, 0x6a);
  26. // {3d7e7d93-2fc8-4a07-a719-e0922ff2899}
  27. DEFINE_GUID(GUID_STREAMTRACE,
  28. 0x3d7e7d93, 0x2fc8, 0x4a07, 0xa7, 0x19, 0xe0, 0x92, 0x2f, 0xf2, 0x89, 0x9e);
  29. // AZFIX: the following GUIDs aren't useful right now.
  30. // {3C33F7F5-EE54-493c-BA25-1656539C05AC}
  31. DEFINE_GUID(GUID_GETTIME,
  32. 0x3c33f7f5, 0xee54, 0x493c, 0xba, 0x25, 0x16, 0x56, 0x53, 0x9c, 0x5, 0xac);
  33. // {CC44B44D-8169-4952-9E4A-A4E13295E492}
  34. DEFINE_GUID(GUID_AUDIOREND,
  35. 0xcc44b44d, 0x8169, 0x4952, 0x9e, 0x4a, 0xa4, 0xe1, 0x32, 0x95, 0xe4, 0x92);
  36. // {775D19BF-4D8B-4de6-8DC9-66BAC7B310A2}
  37. DEFINE_GUID(GUID_FRAMEDROP,
  38. 0x775d19bf, 0x4d8b, 0x4de6, 0x8d, 0xc9, 0x66, 0xba, 0xc7, 0xb3, 0x10, 0xa2);
  39. // {56D29065-EFBE-42dc-8C29-E325DC9C27D5}
  40. DEFINE_GUID(GUID_AUDIOBREAK,
  41. 0x56d29065, 0xefbe, 0x42dc, 0x8c, 0x29, 0xe3, 0x25, 0xdc, 0x9c, 0x27, 0xd5);
  42. #define GLITCHTYPE_DSOUNDFIRSTGOOD 0
  43. #define GLITCHTYPE_DSOUNDFIRSTBAD 1
  44. typedef struct PERFINFO_DSHOW_AUDIOGLITCH {
  45. ULONGLONG cycleCounter;
  46. DWORD glitchType;
  47. LONGLONG sampleTime;
  48. LONGLONG previousTime;
  49. ULONG_PTR instanceId;
  50. } PERFINFO_DSHOW_AUDIOGLITCH, *PPERFINFO_DSHOW_AUDIOGLITCH;
  51. typedef struct PERFINFO_WMI_AUDIOGLITCH {
  52. EVENT_TRACE_HEADER header;
  53. PERFINFO_DSHOW_AUDIOGLITCH data;
  54. } PERFINFO_WMI_AUDIO_GLITCH, *PPERFINFO_WMI_AUDIOGLITCH;
  55. typedef struct PERFINFO_DSHOW_GETTIME {
  56. ULONGLONG cycleCounter;
  57. ULONGLONG dshowClock;
  58. } PERFINFO_DSHOW_GETTIME, *PPERFINFO_DSHOW_GETTIME;
  59. typedef struct PERFINFO_WMI_GETTIME {
  60. EVENT_TRACE_HEADER header;
  61. PERFINFO_DSHOW_GETTIME data;
  62. } PERFINFO_WMI_GETTIME, *PPERFINFO_WMI_GETTIME;
  63. typedef struct PERFINFO_DSHOW_AVREND {
  64. ULONGLONG cycleCounter;
  65. ULONGLONG dshowClock;
  66. ULONGLONG sampleTime;
  67. } PERFINFO_DSHOW_AVREND, *PPERFINFO_DSHOW_AVREND;
  68. typedef struct PERFINFO_WMI_AVREND {
  69. EVENT_TRACE_HEADER header;
  70. PERFINFO_DSHOW_AVREND data;
  71. } PERFINFO_WMI_AVREND, *PPERFINFO_WMI_AVREND;
  72. typedef struct PERFINFO_DSHOW_AUDIOBREAK {
  73. ULONGLONG cycleCounter;
  74. ULONGLONG dshowClock;
  75. ULONGLONG sampleTime;
  76. ULONGLONG sampleDuration;
  77. } PERFINFO_DSHOW_AUDIOBREAK, *PPERFINFO_DSHOW_AUDIOBREAK;
  78. typedef struct PERFINFO_WMI_AUDIOBREAK {
  79. EVENT_TRACE_HEADER header;
  80. PERFINFO_DSHOW_AUDIOBREAK data;
  81. } PERFINFO_WMI_AUDIOBREAK, *PPERFINFO_WMI_AUDIOBREAK;
  82. typedef struct PERFINFO_DSHOW_FRAMEDROP {
  83. ULONGLONG cycleCounter;
  84. ULONGLONG dshowClock;
  85. ULONGLONG frameTime;
  86. } PERFINFO_DSHOW_FRAMEDROP, *PPERFINFO_DSHOW_FRAMEDROP;
  87. typedef struct PERFINFO_WMI_FRAMEDROP {
  88. EVENT_TRACE_HEADER header;
  89. PERFINFO_DSHOW_FRAMEDROP data;
  90. } PERFINFO_WMI_FRAMEDROP, *PPERFINFO_WMI_FRAMEDROP;
  91. #define PERFINFO_STREAMTRACE_MPEG2DEMUX_PTS_TRANSLATION 1
  92. #define PERFINFO_STREAMTRACE_MPEG2DEMUX_SAMPLE_RECEIVED 2
  93. typedef struct _PERFINFO_DSHOW_STREAMTRACE {
  94. ULONG id;
  95. ULONG reserved;
  96. ULONGLONG dshowClock;
  97. ULONGLONG data[ 4 ];
  98. } PERFINFO_DSHOW_STREAMTRACE, *PPERFINFO_DSHOW_STREAMTRACE;
  99. typedef struct _PERFINFO_WMI_STREAMTRACE {
  100. EVENT_TRACE_HEADER header;
  101. PERFINFO_DSHOW_STREAMTRACE data;
  102. } PERFINFO_WMI_STREAMTRACE, *PPERFINFO_WMI_STREAMTRACE;
  103. #endif // _PREFSTRUCT_H_