00001 #ifndef _AVFRINGBUFFER_H_ 00002 #define _AVFRINGBUFFER_H_ 00003 00004 #include "ringbuffer.h" 00005 00006 extern "C" { 00007 #include "libavformat/avformat.h" 00008 #include "libavformat/url.h" 00009 } 00010 00011 extern URLProtocol AVF_RingBuffer_Protocol; 00012 00013 extern int AVF_Write_Packet(void *opaque, uint8_t *buf, int buf_size); 00014 extern int AVF_Read_Packet(void *opaque, uint8_t *buf, int buf_size); 00015 extern int64_t AVF_Seek_Packet(void *opaque, int64_t offset, int whence); 00016 00017 class AVFRingBuffer 00018 { 00019 public: 00020 AVFRingBuffer(RingBuffer *rbuffer = NULL) { m_rbuffer = rbuffer; } 00021 00022 void SetRingBuffer(RingBuffer *rbuffer) { m_rbuffer = rbuffer; } 00023 RingBuffer *GetRingBuffer(void) { return m_rbuffer; } 00024 00025 private: 00026 RingBuffer *m_rbuffer; 00027 }; 00028 00029 #endif 00030 00031 /* vim: set expandtab tabstop=4 shiftwidth=4: */
1.6.3