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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #include <rtp_bytestream.h>
  2. #include "player_session.h"
  3. #include "media_utils.h"
  4. #include "our_msg_queue.h"
  5. #include "player_session_wrap.h"
  6. struct _CMQ {
  7. CMsgQueue* p;
  8. };
  9. extern "C" CMQ* new_CMQ(void)
  10. {
  11. CMQ* s = new CMQ;
  12. s->p = new CMsgQueue;
  13. return s;
  14. }
  15. void CMQ_destroy(CMQ* s)
  16. {
  17. delete s->p;
  18. delete s;
  19. }
  20. int CMQ_send_message(CMQ* s, size_t msgval, unsigned char *msg,
  21.    size_t msg_len, SDL_sem *sem)
  22. {
  23. return s->p->send_message(msgval, msg, msg_len, sem);
  24. }
  25. struct _CPS {
  26. CPlayerSession* p;
  27. };
  28. CPS*  new_CPS(CMQ* master_queue, SDL_sem* master_sem, const char* name)
  29. {
  30. CPS* s = new CPS;
  31. s->p = new CPlayerSession(master_queue->p, master_sem, name);
  32. return s;
  33. }
  34. extern "C" void  CPS_destroy(CPS* s)
  35. {
  36. delete s->p;
  37. delete s;
  38. }
  39. int  CPS_play_all_media(CPS* s, int start_from_begin, double start_time)
  40. {
  41. return s->p->play_all_media(start_from_begin, start_time);
  42. }
  43. int  CPS_pause_all_media(CPS* s)
  44. {
  45. return s->p->pause_all_media();
  46. }
  47. void  CPS_set_up_sync_thread(CPS* s)
  48. {
  49. s->p->set_up_sync_thread();
  50. }
  51. double  CPS_get_playing_time(CPS* s)
  52. {
  53.   double pt = (double)s->p->get_playing_time();
  54.   return pt / 1000.0;
  55. }
  56. double  CPS_get_max_time(CPS* s)
  57. {
  58. return s->p->get_max_time();
  59. }
  60. void  CPS_set_audio_volume(CPS* s, int volume)
  61. {
  62. s->p->set_audio_volume(volume);
  63. }
  64. void  CPS_set_screen_location(CPS* s, int x, int y)
  65. {
  66. s->p->set_screen_location(x, y);
  67. }
  68. void  CPS_set_screen_size(CPS* s, int scaletimes2, int fullscreen)
  69. {
  70. s->p->set_screen_size(scaletimes2, fullscreen);
  71. }
  72. int  CPS_session_is_seekable(CPS* s)
  73. {
  74. return s->p->session_is_seekable();
  75. }
  76. session_state_t
  77. CPS_get_session_state(CPS* s)
  78. {
  79. return s->p->get_session_state();
  80. }
  81. int  parse_name_for_c_session(CPS* s, const char* name, const char** errmsg)
  82. {
  83. return parse_name_for_session(s->p, name, errmsg);
  84. }