Structs.h
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:1k
源码类别:

P2P编程

开发平台:

Visual C++

  1. #pragma once
  2. enum {
  3.     MD5_LEN = 32,          // MD5值的长度
  4. BLOCK_SIZE = 16384,    // 默认分块大小
  5. };
  6. // 数据传输的相关信息,目前大小32字节
  7. class TransferInfo {
  8. public:
  9.     TransferInfo() { memset(this, 0, sizeof(TransferInfo)); };
  10.     LONGLONG totalDownBytes;  // 总共下载字节
  11.     LONGLONG totalUpBytes;    // 总共上传字节
  12.     float    currDownSpeed;   // 当前下载速度
  13.     float    currUpSpeed;     // 当前上传速度
  14.     float    avgDownSpeed;    // 平均下载速度
  15.     float    avgUpSpeed;      // 平均上传速度
  16. };
  17. // DirectShow初始化需要的媒体类型数据,大小56字节
  18. struct TVMEDIATYPESECTION {
  19. GUID     majortype;
  20. GUID     subtype;
  21. GUID     formattype;
  22. ULONG    lSampleSize;
  23. unsigned bFixedSizeSamples:1;
  24. unsigned bTemporalCompression:1;
  25. unsigned bThisPinOnly:1;
  26. unsigned cbFormat:16;
  27. unsigned :13;
  28. };
  29. // Sample头的大小,共16字节
  30. struct SampleHeader {
  31. unsigned size:28; // 此Sample大小
  32. unsigned bDiscontinuity:1; // Sample属性
  33. unsigned bPreroll:1; // Sample属性
  34. unsigned bSyncPoint:1; // 是否关键帧
  35. unsigned bAudioSample:1; // 是否音频Sample
  36. UINT length; // 时间跨度
  37. LONGLONG start; // 起始时间
  38. };