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

P2P编程

开发平台:

Visual C++

  1. /*
  2.  *  Openmysee
  3.  *
  4.  *  This program is free software; you can redistribute it and/or modify
  5.  *  it under the terms of the GNU General Public License as published by
  6.  *  the Free Software Foundation; either version 2 of the License, or
  7.  *  (at your option) any later version.
  8.  *
  9.  *  This program is distributed in the hope that it will be useful,
  10.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  *  GNU General Public License for more details.
  13.  *
  14.  *  You should have received a copy of the GNU General Public License
  15.  *  along with this program; if not, write to the Free Software
  16.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17.  *
  18.  */
  19. #pragma once
  20. enum {
  21.     MD5_LEN = 32,          // MD5值的长度
  22. BLOCK_SIZE = 16384,    // 默认分块大小
  23. };
  24. // 数据传输的相关信息,目前大小32字节
  25. class TransferInfo {
  26. public:
  27.     TransferInfo() { memset(this, 0, sizeof(TransferInfo)); };
  28.     LONGLONG totalDownBytes;  // 总共下载字节
  29.     LONGLONG totalUpBytes;    // 总共上传字节
  30.     float    currDownSpeed;   // 当前下载速度
  31.     float    currUpSpeed;     // 当前上传速度
  32.     float    avgDownSpeed;    // 平均下载速度
  33.     float    avgUpSpeed;      // 平均上传速度
  34. };
  35. // DirectShow初始化需要的媒体类型数据,大小56字节
  36. struct TVMEDIATYPESECTION {
  37. GUID     majortype;
  38. GUID     subtype;
  39. GUID     formattype;
  40. ULONG    lSampleSize;
  41. unsigned bFixedSizeSamples:1;
  42. unsigned bTemporalCompression:1;
  43. unsigned bThisPinOnly:1;
  44. unsigned cbFormat:16;
  45. unsigned :13;
  46. };
  47. // Sample头的大小,共16字节
  48. struct SampleHeader {
  49. unsigned size:28; // 此Sample大小
  50. unsigned bDiscontinuity:1; // Sample属性
  51. unsigned bPreroll:1; // Sample属性
  52. unsigned bSyncPoint:1; // 是否关键帧
  53. unsigned bAudioSample:1; // 是否音频Sample
  54. UINT length; // 时间跨度
  55. LONGLONG start; // 起始时间
  56. };