player_session_wrap.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:1k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef _player_session_wrap_h
  2. #define _player_session_wrap_h
  3. #include <SDL.h>
  4. /*
  5.  * C interface for player_session wrapped around the C++ interface
  6.  * so that we can call it from Objective-C since we don't have
  7.  * Objective-C++.
  8.  */
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* Message queue */
  13. typedef struct _CMQ CMQ;
  14. CMQ* new_CMQ(void);
  15. void CMQ_destroy(CMQ*);
  16. int CMQ_send_message(CMQ*, size_t msgval, unsigned char *msg,
  17.    size_t msg_len, SDL_sem *sem);
  18. /* Player session */
  19. #ifndef __PLAYER_SESSION_H__ /* HACK */
  20. typedef enum {
  21.   SESSION_PAUSED,
  22.   SESSION_BUFFERING,
  23.   SESSION_PLAYING,
  24.   SESSION_DONE
  25. } session_state_t;
  26. #endif
  27. typedef struct _CPS CPS;
  28. CPS*  new_CPS(CMQ* master_queue, SDL_sem* master_sem, const char* name);
  29. void  CPS_destroy(CPS* s);
  30. int  CPS_play_all_media(CPS* s, int start_from_begin, double start_time);
  31. int  CPS_pause_all_media(CPS* s);
  32. void  CPS_set_up_sync_thread(CPS* s);
  33. double  CPS_get_playing_time(CPS* s);
  34. double  CPS_get_max_time(CPS* s);
  35. void  CPS_set_audio_volume(CPS* s, int volume);
  36. void  CPS_set_screen_location(CPS* s, int x, int y);
  37. void  CPS_set_screen_size(CPS* s, int scaletimes2, int fullscreen);
  38. int  CPS_session_is_seekable(CPS* s);
  39. session_state_t
  40.         CPS_get_session_state(CPS* s);
  41. /* Media utilities */
  42. int  parse_name_for_c_session(CPS* s, const char* name, const char** errmsg);
  43. #ifdef __cplusplus
  44. };
  45. #endif
  46. #endif