正在显示
2 个修改的文件
包含
17 行增加
和
3 行删除
| @@ -114,13 +114,13 @@ void SrsRecvThread::on_thread_stop() | @@ -114,13 +114,13 @@ void SrsRecvThread::on_thread_stop() | ||
| 114 | } | 114 | } |
| 115 | 115 | ||
| 116 | SrsQueueRecvThread::SrsQueueRecvThread(SrsRtmpServer* rtmp_sdk, int timeout_ms) | 116 | SrsQueueRecvThread::SrsQueueRecvThread(SrsRtmpServer* rtmp_sdk, int timeout_ms) |
| 117 | - : SrsRecvThread(this, rtmp_sdk, timeout_ms) | 117 | + : trd(this, rtmp_sdk, timeout_ms) |
| 118 | { | 118 | { |
| 119 | } | 119 | } |
| 120 | 120 | ||
| 121 | SrsQueueRecvThread::~SrsQueueRecvThread() | 121 | SrsQueueRecvThread::~SrsQueueRecvThread() |
| 122 | { | 122 | { |
| 123 | - stop(); | 123 | + trd.stop(); |
| 124 | 124 | ||
| 125 | // clear all messages. | 125 | // clear all messages. |
| 126 | std::vector<SrsMessage*>::iterator it; | 126 | std::vector<SrsMessage*>::iterator it; |
| @@ -131,6 +131,16 @@ SrsQueueRecvThread::~SrsQueueRecvThread() | @@ -131,6 +131,16 @@ SrsQueueRecvThread::~SrsQueueRecvThread() | ||
| 131 | queue.clear(); | 131 | queue.clear(); |
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | +int SrsQueueRecvThread::start() | ||
| 135 | +{ | ||
| 136 | + return trd.start(); | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | +void SrsQueueRecvThread::stop() | ||
| 140 | +{ | ||
| 141 | + trd.stop(); | ||
| 142 | +} | ||
| 143 | + | ||
| 134 | bool SrsQueueRecvThread::empty() | 144 | bool SrsQueueRecvThread::empty() |
| 135 | { | 145 | { |
| 136 | return queue.empty(); | 146 | return queue.empty(); |
| @@ -87,14 +87,18 @@ public: | @@ -87,14 +87,18 @@ public: | ||
| 87 | * @see: SrsRtmpConn::playing | 87 | * @see: SrsRtmpConn::playing |
| 88 | * @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 | 88 | * @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 |
| 89 | */ | 89 | */ |
| 90 | -class SrsQueueRecvThread : virtual public ISrsMessageHandler, virtual public SrsRecvThread | 90 | +class SrsQueueRecvThread : virtual public ISrsMessageHandler |
| 91 | { | 91 | { |
| 92 | private: | 92 | private: |
| 93 | std::vector<SrsMessage*> queue; | 93 | std::vector<SrsMessage*> queue; |
| 94 | + SrsRecvThread trd; | ||
| 94 | public: | 95 | public: |
| 95 | SrsQueueRecvThread(SrsRtmpServer* rtmp_sdk, int timeout_ms); | 96 | SrsQueueRecvThread(SrsRtmpServer* rtmp_sdk, int timeout_ms); |
| 96 | virtual ~SrsQueueRecvThread(); | 97 | virtual ~SrsQueueRecvThread(); |
| 97 | public: | 98 | public: |
| 99 | + virtual int start(); | ||
| 100 | + virtual void stop(); | ||
| 101 | +public: | ||
| 98 | virtual bool empty(); | 102 | virtual bool empty(); |
| 99 | virtual int size(); | 103 | virtual int size(); |
| 100 | virtual SrsMessage* pump(); | 104 | virtual SrsMessage* pump(); |
-
请 注册 或 登录 后发表评论