正在显示
5 个修改的文件
包含
14 行增加
和
10 行删除
@@ -116,7 +116,7 @@ int SrsStreamCache::cycle() | @@ -116,7 +116,7 @@ int SrsStreamCache::cycle() | ||
116 | // the stream cache will create consumer to cache stream, | 116 | // the stream cache will create consumer to cache stream, |
117 | // which will trigger to fetch stream from origin for edge. | 117 | // which will trigger to fetch stream from origin for edge. |
118 | SrsConsumer* consumer = NULL; | 118 | SrsConsumer* consumer = NULL; |
119 | - if ((ret = source->create_consumer(consumer, false, false, true)) != ERROR_SUCCESS) { | 119 | + if ((ret = source->create_consumer(NULL, consumer, false, false, true)) != ERROR_SUCCESS) { |
120 | srs_error("http: create consumer failed. ret=%d", ret); | 120 | srs_error("http: create consumer failed. ret=%d", ret); |
121 | return ret; | 121 | return ret; |
122 | } | 122 | } |
@@ -483,7 +483,7 @@ int SrsLiveStream::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -483,7 +483,7 @@ int SrsLiveStream::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
483 | 483 | ||
484 | // create consumer of souce, ignore gop cache, use the audio gop cache. | 484 | // create consumer of souce, ignore gop cache, use the audio gop cache. |
485 | SrsConsumer* consumer = NULL; | 485 | SrsConsumer* consumer = NULL; |
486 | - if ((ret = source->create_consumer(consumer, true, true, !enc->has_cache())) != ERROR_SUCCESS) { | 486 | + if ((ret = source->create_consumer(NULL, consumer, true, true, !enc->has_cache())) != ERROR_SUCCESS) { |
487 | srs_error("http: create consumer failed. ret=%d", ret); | 487 | srs_error("http: create consumer failed. ret=%d", ret); |
488 | return ret; | 488 | return ret; |
489 | } | 489 | } |
@@ -598,7 +598,7 @@ int SrsRtmpConn::playing(SrsSource* source) | @@ -598,7 +598,7 @@ int SrsRtmpConn::playing(SrsSource* source) | ||
598 | 598 | ||
599 | // create consumer of souce. | 599 | // create consumer of souce. |
600 | SrsConsumer* consumer = NULL; | 600 | SrsConsumer* consumer = NULL; |
601 | - if ((ret = source->create_consumer(consumer)) != ERROR_SUCCESS) { | 601 | + if ((ret = source->create_consumer(this, consumer)) != ERROR_SUCCESS) { |
602 | srs_error("create consumer failed. ret=%d", ret); | 602 | srs_error("create consumer failed. ret=%d", ret); |
603 | return ret; | 603 | return ret; |
604 | } | 604 | } |
@@ -418,9 +418,10 @@ ISrsWakable::~ISrsWakable() | @@ -418,9 +418,10 @@ ISrsWakable::~ISrsWakable() | ||
418 | { | 418 | { |
419 | } | 419 | } |
420 | 420 | ||
421 | -SrsConsumer::SrsConsumer(SrsSource* _source) | 421 | +SrsConsumer::SrsConsumer(SrsSource* s, SrsConnection* c) |
422 | { | 422 | { |
423 | - source = _source; | 423 | + source = s; |
424 | + conn = c; | ||
424 | paused = false; | 425 | paused = false; |
425 | jitter = new SrsRtmpJitter(); | 426 | jitter = new SrsRtmpJitter(); |
426 | queue = new SrsMessageQueue(); | 427 | queue = new SrsMessageQueue(); |
@@ -2143,11 +2144,11 @@ void SrsSource::on_unpublish() | @@ -2143,11 +2144,11 @@ void SrsSource::on_unpublish() | ||
2143 | handler->on_unpublish(this, _req); | 2144 | handler->on_unpublish(this, _req); |
2144 | } | 2145 | } |
2145 | 2146 | ||
2146 | -int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg) | 2147 | +int SrsSource::create_consumer(SrsConnection* conn, SrsConsumer*& consumer, bool ds, bool dm, bool dg) |
2147 | { | 2148 | { |
2148 | int ret = ERROR_SUCCESS; | 2149 | int ret = ERROR_SUCCESS; |
2149 | 2150 | ||
2150 | - consumer = new SrsConsumer(this); | 2151 | + consumer = new SrsConsumer(this, conn); |
2151 | consumers.push_back(consumer); | 2152 | consumers.push_back(consumer); |
2152 | 2153 | ||
2153 | double queue_size = _srs_config->get_queue_length(_req->vhost); | 2154 | double queue_size = _srs_config->get_queue_length(_req->vhost); |
@@ -51,6 +51,7 @@ class SrsStSocket; | @@ -51,6 +51,7 @@ class SrsStSocket; | ||
51 | class SrsRtmpServer; | 51 | class SrsRtmpServer; |
52 | class SrsEdgeProxyContext; | 52 | class SrsEdgeProxyContext; |
53 | class SrsMessageArray; | 53 | class SrsMessageArray; |
54 | +class SrsConnection; | ||
54 | #ifdef SRS_AUTO_HLS | 55 | #ifdef SRS_AUTO_HLS |
55 | class SrsHls; | 56 | class SrsHls; |
56 | #endif | 57 | #endif |
@@ -224,6 +225,8 @@ private: | @@ -224,6 +225,8 @@ private: | ||
224 | SrsRtmpJitter* jitter; | 225 | SrsRtmpJitter* jitter; |
225 | SrsSource* source; | 226 | SrsSource* source; |
226 | SrsMessageQueue* queue; | 227 | SrsMessageQueue* queue; |
228 | + // the owner connection for debug, maybe NULL. | ||
229 | + SrsConnection* conn; | ||
227 | bool paused; | 230 | bool paused; |
228 | // when source id changed, notice all consumers | 231 | // when source id changed, notice all consumers |
229 | bool should_update_source_id; | 232 | bool should_update_source_id; |
@@ -236,7 +239,7 @@ private: | @@ -236,7 +239,7 @@ private: | ||
236 | int mw_duration; | 239 | int mw_duration; |
237 | #endif | 240 | #endif |
238 | public: | 241 | public: |
239 | - SrsConsumer(SrsSource* _source); | 242 | + SrsConsumer(SrsSource* s, SrsConnection* c); |
240 | virtual ~SrsConsumer(); | 243 | virtual ~SrsConsumer(); |
241 | public: | 244 | public: |
242 | /** | 245 | /** |
@@ -571,7 +574,7 @@ public: | @@ -571,7 +574,7 @@ public: | ||
571 | * @param dg, whether dumps the gop cache. | 574 | * @param dg, whether dumps the gop cache. |
572 | */ | 575 | */ |
573 | virtual int create_consumer( | 576 | virtual int create_consumer( |
574 | - SrsConsumer*& consumer, | 577 | + SrsConnection* conn, SrsConsumer*& consumer, |
575 | bool ds = true, bool dm = true, bool dg = true | 578 | bool ds = true, bool dm = true, bool dg = true |
576 | ); | 579 | ); |
577 | virtual void on_consumer_destroy(SrsConsumer* consumer); | 580 | virtual void on_consumer_destroy(SrsConsumer* consumer); |
@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
31 | // current release version | 31 | // current release version |
32 | #define VERSION_MAJOR 2 | 32 | #define VERSION_MAJOR 2 |
33 | #define VERSION_MINOR 0 | 33 | #define VERSION_MINOR 0 |
34 | -#define VERSION_REVISION 205 | 34 | +#define VERSION_REVISION 206 |
35 | 35 | ||
36 | // server info. | 36 | // server info. |
37 | #define RTMP_SIG_SRS_KEY "SRS" | 37 | #define RTMP_SIG_SRS_KEY "SRS" |
-
请 注册 或 登录 后发表评论