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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. #ifndef MPEG3PROTOS_H
  2. #define MPEG3PROTOS_H
  3. /* CSS */
  4. mpeg3_css_t* mpeg3_new_css();
  5. /* DEMUX */
  6. mpeg3_demuxer_t* mpeg3_new_demuxer(mpeg3_t *file, int do_audio, int do_video, int stream_id);
  7. int mpeg3_delete_demuxer(mpeg3_demuxer_t *demuxer);
  8. int mpeg3demux_read_data(mpeg3_demuxer_t *demuxer, unsigned char *output, long size);
  9. unsigned int mpeg3demux_read_int32(mpeg3_demuxer_t *demuxer);
  10. unsigned int mpeg3demux_read_int24(mpeg3_demuxer_t *demuxer);
  11. unsigned int mpeg3demux_read_int16(mpeg3_demuxer_t *demuxer);
  12. double mpeg3demux_length(mpeg3_demuxer_t *demuxer);
  13. mpeg3_demuxer_t* mpeg3_get_demuxer(mpeg3_t *file);
  14. int64_t mpeg3demux_tell(mpeg3_demuxer_t *demuxer);
  15. double mpeg3demux_tell_percentage(mpeg3_demuxer_t *demuxer);
  16. int mpeg3demux_tell_title(mpeg3_demuxer_t *demuxer);
  17. double mpeg3demux_get_time(mpeg3_demuxer_t *demuxer);
  18. int mpeg3demux_eof(mpeg3_demuxer_t *demuxer);
  19. int mpeg3demux_bof(mpeg3_demuxer_t *demuxer);
  20. void mpeg3demux_start_reverse(mpeg3_demuxer_t *demuxer);
  21. void mpeg3demux_start_forward(mpeg3_demuxer_t *demuxer);
  22. int mpeg3demux_seek_byte(mpeg3_demuxer_t *demuxer, int64_t byte);
  23. int64_t mpeg3demuxer_total_bytes(mpeg3_demuxer_t *demuxer);
  24. unsigned char mpeg3demux_read_char_packet(mpeg3_demuxer_t *demuxer);
  25. unsigned char mpeg3demux_read_prev_char_packet(mpeg3_demuxer_t *demuxer);
  26. int mpeg3demux_read_program(mpeg3_demuxer_t *demuxer);
  27. /* TITLE */
  28. mpeg3_title_t* mpeg3_new_title(mpeg3_t *file, const char *path);
  29. void mpeg3_new_timecode(mpeg3_title_t *title, 
  30. long start_byte, 
  31. double start_time,
  32. long end_byte,
  33. double end_time,
  34. int program);
  35. mpeg3demux_timecode_t* mpeg3_append_timecode(mpeg3_demuxer_t *demuxer, 
  36. mpeg3_title_t *title, 
  37. long prev_byte, 
  38. double prev_time, 
  39. long start_byte, 
  40. double start_time,
  41. int dont_store,
  42. int program);
  43. /* ATRACK */
  44. mpeg3_atrack_t* mpeg3_new_atrack(mpeg3_t *file, 
  45. int stream_id, 
  46. int is_ac3, 
  47. mpeg3_demuxer_t *demuxer,
  48. int number);
  49. int mpeg3_delete_atrack(mpeg3_t *file, mpeg3_atrack_t *atrack);
  50. /* VTRACK */
  51. mpeg3_vtrack_t* mpeg3_new_vtrack(mpeg3_t *file, 
  52. int stream_id, 
  53. mpeg3_demuxer_t *demuxer,
  54. int number);
  55. int mpeg3_delete_vtrack(mpeg3_t *file, mpeg3_vtrack_t *vtrack);
  56. /* FILESYSTEM */
  57. mpeg3_fs_t* mpeg3_new_fs(const char *path);
  58. int mpeg3_delete_fs(mpeg3_fs_t *fs);
  59. int mpeg3io_open_file(mpeg3_fs_t *fs);
  60. int mpeg3io_close_file(mpeg3_fs_t *fs);
  61. int mpeg3io_seek(mpeg3_fs_t *fs, int64_t byte);
  62. int mpeg3io_read_data(unsigned char *buffer, long bytes, mpeg3_fs_t *fs);
  63. int mpeg3io_next_code(mpeg3_fs_t *fs, uint32_t code, int count);
  64. int mpeg3io_prev_code(mpeg3_fs_t *fs, uint32_t code, int count);
  65. /* BITSTREAM */
  66. #endif