InputInternet.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /**************************************************************************************
  2.  *                                                                                    *
  3.  *                                                                                    *
  4.  **************************************************************************************/
  5. #ifndef INPUT_INTERNET_H
  6. #define INPUT_INTERNET_H
  7. #include "MediaClasses.h"
  8. #include <wininet.h>
  9. #include <fcntl.h>
  10. #include <stdio.h>
  11. #include <io.h>
  12. #include <crtdbg.h>
  13. #define BUFFERING_SIZE 1024000
  14. class MediaInputInternet : public MediaItemInput {
  15. public:
  16. FILE *file;
  17. FILE *dnld;
  18. HINTERNET hInternet;
  19. HINTERNET http;
  20. HANDLE    httpThread;
  21. HANDLE    bufferingMutex;
  22. DWORD     httpId;
  23. DWORD     running;
  24. DWORD     buffering;
  25. DWORD     downloaded;
  26. DWORD     size;
  27. DWORD     lastReadPos;
  28. MediaInputInternet();
  29. ~MediaInputInternet();
  30. media_type_t  GetType();
  31. char         *GetName();
  32. MP_RESULT     Connect(MediaItem *item);
  33. MP_RESULT     ReleaseConnections();
  34. DWORD         GetCaps();
  35. MP_RESULT     Configure(HINSTANCE hInstance, HWND hwnd);
  36. MP_RESULT          Open(char *url, media_input_mode_t mode);
  37. long               GetSize();
  38. long    GetBufferSize();
  39. long    GetBufferPosition();
  40. long    GetBufferingSize();
  41. unsigned int       Read(MediaBuffer *mb, unsigned int size);
  42. unsigned int       Seek(int size, media_input_seek_t method);
  43. BOOL               EndOfFile();
  44. unsigned int       GetLine(MediaBuffer *mb);
  45. MP_RESULT Close();
  46. };
  47. #endif