asf_if.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __ASF_IF_H
  2. #define __ASF_IF_H
  3. #include "types.h"
  4. #include "wave_fmt.h"
  5. #ifdef ASFEXTERN_HERE
  6. #define ASFEXTERN
  7. #else
  8. #define ASFEXTERN extern
  9. #endif
  10. typedef struct tASFAUDOBJECT
  11. {
  12.     UINT8           nAudSN;         // audio stream number
  13.     WAVFORMATMACRO  wfmt;           // waveformat structure
  14. } ASFAUDOBJECT;
  15. // flow control variables
  16. ASFEXTERN   BYTE    asf_file_start;
  17. ASFEXTERN   UINT64 asf_file_duration;
  18. ASFEXTERN   BYTE    asf_first_pck;
  19. ASFEXTERN   BYTE    snVidTab[8], snAudioCnt, snVideoCnt, nAudio, nVideo;
  20. ASFEXTERN   BYTE    ASFAudioStream, ASFVideoStream;
  21. ASFEXTERN   ASFAUDOBJECT    snAudTab[8];
  22. ASFEXTERN   UINT32  asf_pck_size;
  23. ASFEXTERN   UINT8 asf_pck_state;
  24. ASFEXTERN   UINT64  asf_header_size, asf_data_size, asf_header_size_keep;
  25. ASFEXTERN   UINT64  asf_pck_count, asf_pck_left, asf_pck_current;
  26. ASFEXTERN   UINT32 asf_pck_time;
  27. ASFEXTERN   UINT16 asf_pck_duration;
  28. ASFEXTERN   UINT32 asf_AB_start_pck;
  29. ASFEXTERN   UINT32  asf_AB_end_pck;
  30. ASFEXTERN   UINT32  asf_resume_pck;
  31. ASFEXTERN   UINT32  asf_resume_len;
  32. void ASF_init(void);
  33. int doASFHeader(void);
  34. int doASFData(void);
  35. int doASFPckInit(void);
  36. int doASFSPload(void);
  37. int doASFMPload(void);
  38. inline void ASF_PCK_Init(void);
  39. inline UINT32 get_asf_pck_time(void);
  40. #endif  //__ASF_IF_H