home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / samples / mm / asymrec / asymrec.h < prev   
Text File  |  1999-05-11  |  5KB  |  106 lines

  1. Copyright (C) IBM 1993
  2.  
  3. typedef struct _RECCB                /* Record control block                */
  4.   {
  5.    HEV       hevRecordPaused; /* Event semaphore handle for paused recording*/
  6.    HEV       hevFrameStep;           /* Frame step                          */
  7.  
  8.    BYTE      * rawimagebuf;          /* Pointer to raw image buffer         */
  9.    BYTE      * compimagebuf;         /* Pointer to compressed image buffer  */
  10.  
  11.    ULONG     outbuflen;              /* Number of bytes in output buffer    */
  12.  
  13.    ULONG     FramesCounted;          /* Number frames counted               */
  14.    BOOL      fStillRunning;          /* Flag                                */
  15.  
  16.    ULONG     dwSrcCurrentPosition;   /* Position of current source          */
  17.    ULONG     dwMovieRecordFrom;      /* Record from position                */
  18.    ULONG     dwMovieCurrentPosition; /* Current position                    */
  19.  
  20.    TID       RecordThreadID;   /* Thread ID for asymetric recording thread  */
  21.   } RECCB;
  22. typedef RECCB * PRECCB;
  23.  
  24.  
  25. /*************************************/
  26. /*          Global Defines           */
  27. /*************************************/
  28.  
  29. #define  TEMP_VIDEO_FILENAME    "AVIFILE.AVI"
  30.  
  31. /***********************/
  32. /* CODEC list          */
  33. /***********************/
  34. typedef struct _CODEC_DATA
  35. {
  36.   CODECINIFILEINFO     cifi;                   /* Codec ini file information */
  37.   struct _CODEC_DATA   *pNext;                 /* Next codec in list         */
  38. } CODEC_DATA, *PCODEC_DATA;
  39.  
  40. typedef struct _RECOPTS
  41.   {
  42.   USHORT SrcFPS;                            /* Source Frames per second      */
  43.   USHORT MovieFPS;                          /* Rate/Scale = Frames per second*/
  44.   BOOL   fInsertRefFrames;                  /* Reference Frame flag          */
  45.   USHORT usMaxRefreshTime;                  /* Maximum refresh time          */
  46.   BOOL   fCompress;                         /* Compress flag                 */
  47.   USHORT usCapPosX;                         /* Caption position is 0         */
  48.   USHORT usCapPosY;                         /* Caption position is 0         */
  49.   USHORT usCapSizeX;                        /* Capture size from the card 640*/
  50.   USHORT usCapSizeY;                        /* Caption size from the card 480*/
  51.   USHORT usMaxDataRate;                     /* Data constraint               */
  52.   USHORT usQuality;                         /* Video quality of the movie    */
  53.  
  54. /**************************************************************************/
  55. /* usMovieSizeX = 320, usMovieSizeY = 240                                 */
  56. /* This is half the capture size.  In the recorder application this would */
  57. /* be a 2 to 1 zoom.                                                      */
  58. /**************************************************************************/
  59.   USHORT usMovieSizeX;                      /* Video width in Pels           */
  60.   USHORT usMovieSizeY;                      /* Video height in Pels          */
  61.   } RECOPTS;
  62.  
  63. /*******************************************************/
  64. /* Control block structure for "global" values.        */
  65. /*******************************************************/
  66.  
  67. typedef struct _SWVRCB
  68. {
  69.   /*********************************/
  70.   /** data for input and output   **/
  71.   /*********************************/
  72.   MOVIE_MODE_DATA  OutputMovie;           /* Movie data                      */
  73.   MOVIE_MODE_DATA  InputMovie;            /* Source data                     */
  74.  
  75.   /*************************/
  76.   /** User interface data **/
  77.   /*************************/
  78.   HAB              hab;                   /* anchor block handle             */
  79.  
  80.   /** Recording Data     **/
  81.   RECOPTS          recopts;               /* Record options structure        */
  82.   PVOID            pRecCB;                /* Pointer to recording CB         */
  83.   ULONG            dwSrcRecordFrom;       /* Media positions from marks ...  */
  84.   ULONG            dwSrcRecordTo;         /* When to stop recording          */
  85.   USHORT             wWaveDID;            /* audio capture device ID         */
  86.  
  87.   /****************/
  88.   /** Flags      **/
  89.   /****************/
  90.   BOOL             fRecordActive;         /* recording in progress indicator */
  91.   BOOL             fRecordPaused;         /* recording paused flag           */
  92.  
  93.   /****************/
  94.   /** Strings    **/
  95.   /****************/
  96.   CHAR             szPath[CCHMAXPATH];        /*  default path for files     */
  97.   CHAR             AudioFilename[CCHMAXPATH]; /* file for saving audio       */
  98.  
  99.   /*********************/
  100.   /*** Miscellaneous ***/
  101.   /*********************/
  102.   HMMIO            hmmioTemp;                    /* Temporary handle         */
  103.   PCODEC_DATA      pCODECData;                   /* Codec chosen             */
  104.   USHORT           usCurrProf;                   /* Current profile          */
  105. } SWVRCB, *PSWVRCB;
  106.