Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

39 rindas
1.4KB

  1. #ifndef _flv_demuxer_h_
  2. #define _flv_demuxer_h_
  3. #include <stdint.h>
  4. #include <stddef.h>
  5. #if defined(__cplusplus)
  6. extern "C" {
  7. #endif
  8. typedef struct flv_demuxer_t flv_demuxer_t;
  9. /// Audio/Video Elementary Stream
  10. /// @param[in] param user-defined parameter
  11. /// @param[in] codec audio/video format (see more flv-proto.h)
  12. /// @param[in] data audio/video element data, AAC: ADTS + AAC-Frame, H.264: startcode + NALU, MP3-Raw data
  13. /// @param[in] bytes data length in byte
  14. /// @param[in] pts audio/video presentation timestamp
  15. /// @param[in] dts audio/video decoding timestamp
  16. /// @param[in] flags 1-video keyframe, other-undefined
  17. /// @return 0-ok, other-error
  18. typedef int (*flv_demuxer_handler)(void* param, int codec, const void* data, size_t bytes, uint32_t pts, uint32_t dts, int flags);
  19. flv_demuxer_t* flv_demuxer_create(flv_demuxer_handler handler, void* param);
  20. void flv_demuxer_destroy(flv_demuxer_t* demuxer);
  21. /// Input FLV Audio/Video Stream
  22. /// @param[in] type 8-audio, 9-video, 18-script (see more flv-proto.h)
  23. /// @param[in] data flv audio/video Stream, AudioTagHeader/VideoTagHeader + A/V Data
  24. /// @param[in] bytes data length in byte
  25. /// @param[in] timestamp milliseconds relative to the first tag(DTS)
  26. /// @return 0-ok, other-error
  27. int flv_demuxer_input(flv_demuxer_t* demuxer, int type, const void* data, size_t bytes, uint32_t timestamp);
  28. #if defined(__cplusplus)
  29. }
  30. #endif
  31. #endif /* !_flv_demuxer_h_ */