45 lines
		
	
	
		
			671 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			671 B
		
	
	
	
		
			C++
		
	
	
	
| // PHZ
 | |
| // 2018-5-16
 | |
| 
 | |
| #ifndef XOP_H264_SOURCE_H
 | |
| #define XOP_H264_SOURCE_H
 | |
| 
 | |
| #include "MediaSource.h"
 | |
| #include "rtp.h"
 | |
| 
 | |
| namespace xop
 | |
| { 
 | |
| 
 | |
| class H264Source : public MediaSource
 | |
| {
 | |
| public:
 | |
| 	static H264Source* CreateNew(uint32_t framerate=25);
 | |
| 	~H264Source();
 | |
| 
 | |
| 	void SetFramerate(uint32_t framerate)
 | |
| 	{ framerate_ = framerate; }
 | |
| 
 | |
| 	uint32_t GetFramerate() const 
 | |
| 	{ return framerate_; }
 | |
| 
 | |
| 	virtual std::string GetMediaDescription(uint16_t port); 
 | |
| 
 | |
| 	virtual std::string GetAttribute(); 
 | |
| 
 | |
| 	virtual bool HandleFrame(MediaChannelId channel_id, AVFrame frame);
 | |
| 
 | |
| 	static uint32_t GetTimestamp();
 | |
| 	
 | |
| private:
 | |
| 	H264Source(uint32_t framerate);
 | |
| 
 | |
| 	uint32_t framerate_ = 25;
 | |
| };
 | |
| 	
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 
 |