diff --git a/README.md b/README.md index 25f91f40a..03adb024d 100755 --- a/README.md +++ b/README.md @@ -176,6 +176,7 @@ The ports used by SRS: ## V4 changes +* v4.0, 2021-05-15, Rename SrsConsumer* to SrsLiveConsumer*. 4.0.114 * v4.0, 2021-05-15, Rename SrsRtcStream* to SrsRtcSource*. 4.0.113 * v4.0, 2021-05-15, Rename SrsSource* to SrsLiveSource*. 4.0.112 * v4.0, 2021-05-15, Rename SrsRtpPacket2 to SrsRtpPacket. 4.0.111 diff --git a/trunk/src/app/srs_app_http_conn.hpp b/trunk/src/app/srs_app_http_conn.hpp index 4ae86c7df..6615f80e0 100644 --- a/trunk/src/app/srs_app_http_conn.hpp +++ b/trunk/src/app/srs_app_http_conn.hpp @@ -40,7 +40,7 @@ class SrsServer; class SrsLiveSource; class SrsRequest; -class SrsConsumer; +class SrsLiveConsumer; class SrsStSocket; class SrsHttpParser; class ISrsHttpMessage; diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp index 0057ae16d..acdb4e19a 100755 --- a/trunk/src/app/srs_app_http_stream.cpp +++ b/trunk/src/app/srs_app_http_stream.cpp @@ -96,7 +96,7 @@ srs_error_t SrsBufferCache::start() return err; } -srs_error_t SrsBufferCache::dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter) +srs_error_t SrsBufferCache::dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter) { srs_error_t err = srs_success; @@ -127,8 +127,8 @@ srs_error_t SrsBufferCache::cycle() // the stream cache will create consumer to cache stream, // which will trigger to fetch stream from origin for edge. - SrsConsumer* consumer = NULL; - SrsAutoFree(SrsConsumer, consumer); + SrsLiveConsumer* consumer = NULL; + SrsAutoFree(SrsLiveConsumer, consumer); if ((err = source->create_consumer(consumer)) != srs_success) { return srs_error_wrap(err, "create consumer"); } @@ -245,7 +245,7 @@ bool SrsTsStreamEncoder::has_cache() return false; } -srs_error_t SrsTsStreamEncoder::dump_cache(SrsConsumer* /*consumer*/, SrsRtmpJitterAlgorithm /*jitter*/) +srs_error_t SrsTsStreamEncoder::dump_cache(SrsLiveConsumer* /*consumer*/, SrsRtmpJitterAlgorithm /*jitter*/) { // for ts stream, ignore cache. return srs_success; @@ -312,7 +312,7 @@ bool SrsFlvStreamEncoder::has_cache() return false; } -srs_error_t SrsFlvStreamEncoder::dump_cache(SrsConsumer* /*consumer*/, SrsRtmpJitterAlgorithm /*jitter*/) +srs_error_t SrsFlvStreamEncoder::dump_cache(SrsLiveConsumer* /*consumer*/, SrsRtmpJitterAlgorithm /*jitter*/) { // for flv stream, ignore cache. return srs_success; @@ -412,7 +412,7 @@ bool SrsAacStreamEncoder::has_cache() return true; } -srs_error_t SrsAacStreamEncoder::dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter) +srs_error_t SrsAacStreamEncoder::dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter) { srs_assert(cache); return cache->dump_cache(consumer, jitter); @@ -468,7 +468,7 @@ bool SrsMp3StreamEncoder::has_cache() return true; } -srs_error_t SrsMp3StreamEncoder::dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter) +srs_error_t SrsMp3StreamEncoder::dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter) { srs_assert(cache); return cache->dump_cache(consumer, jitter); @@ -585,8 +585,8 @@ srs_error_t SrsLiveStream::do_serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess w->write_header(SRS_CONSTS_HTTP_OK); // create consumer of souce, ignore gop cache, use the audio gop cache. - SrsConsumer* consumer = NULL; - SrsAutoFree(SrsConsumer, consumer); + SrsLiveConsumer* consumer = NULL; + SrsAutoFree(SrsLiveConsumer, consumer); if ((err = source->create_consumer(consumer)) != srs_success) { return srs_error_wrap(err, "create consumer"); } diff --git a/trunk/src/app/srs_app_http_stream.hpp b/trunk/src/app/srs_app_http_stream.hpp index 39b035810..a1202f152 100755 --- a/trunk/src/app/srs_app_http_stream.hpp +++ b/trunk/src/app/srs_app_http_stream.hpp @@ -49,7 +49,7 @@ public: virtual srs_error_t update_auth(SrsLiveSource* s, SrsRequest* r); public: virtual srs_error_t start(); - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter); + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter); // Interface ISrsEndlessThreadHandler. public: virtual srs_error_t cycle(); @@ -76,7 +76,7 @@ public: // @return true to use gop cache of encoder; otherwise, use SrsLiveSource. virtual bool has_cache() = 0; // Dumps the cache of encoder to consumer. - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter) = 0; + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter) = 0; }; // Transmux RTMP to HTTP Live Streaming. @@ -95,7 +95,7 @@ public: virtual srs_error_t write_metadata(int64_t timestamp, char* data, int size); public: virtual bool has_cache(); - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter); + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter); public: // Write the tags in a time. virtual srs_error_t write_tags(SrsSharedPtrMessage** msgs, int count); @@ -118,7 +118,7 @@ public: virtual srs_error_t write_metadata(int64_t timestamp, char* data, int size); public: virtual bool has_cache(); - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter); + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter); }; // Transmux RTMP with AAC stream to HTTP AAC Streaming. @@ -137,7 +137,7 @@ public: virtual srs_error_t write_metadata(int64_t timestamp, char* data, int size); public: virtual bool has_cache(); - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter); + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter); }; // Transmux RTMP with MP3 stream to HTTP MP3 Streaming. @@ -156,7 +156,7 @@ public: virtual srs_error_t write_metadata(int64_t timestamp, char* data, int size); public: virtual bool has_cache(); - virtual srs_error_t dump_cache(SrsConsumer* consumer, SrsRtmpJitterAlgorithm jitter); + virtual srs_error_t dump_cache(SrsLiveConsumer* consumer, SrsRtmpJitterAlgorithm jitter); }; // Write stream to http response direclty. diff --git a/trunk/src/app/srs_app_recv_thread.cpp b/trunk/src/app/srs_app_recv_thread.cpp index cafc96b13..d1d3b2fd4 100644 --- a/trunk/src/app/srs_app_recv_thread.cpp +++ b/trunk/src/app/srs_app_recv_thread.cpp @@ -164,7 +164,7 @@ srs_error_t SrsRecvThread::do_cycle() return err; } -SrsQueueRecvThread::SrsQueueRecvThread(SrsConsumer* consumer, SrsRtmpServer* rtmp_sdk, srs_utime_t tm, SrsContextId parent_cid) +SrsQueueRecvThread::SrsQueueRecvThread(SrsLiveConsumer* consumer, SrsRtmpServer* rtmp_sdk, srs_utime_t tm, SrsContextId parent_cid) : trd(this, rtmp_sdk, tm, parent_cid) { _consumer = consumer; diff --git a/trunk/src/app/srs_app_recv_thread.hpp b/trunk/src/app/srs_app_recv_thread.hpp index 7024beca0..f9e166d73 100644 --- a/trunk/src/app/srs_app_recv_thread.hpp +++ b/trunk/src/app/srs_app_recv_thread.hpp @@ -39,7 +39,7 @@ class SrsCommonMessage; class SrsRtmpConn; class SrsLiveSource; class SrsRequest; -class SrsConsumer; +class SrsLiveConsumer; class SrsHttpConn; class SrsResponseOnlyHttpConn; @@ -114,10 +114,10 @@ private: SrsRtmpServer* rtmp; // The recv thread error code. srs_error_t recv_error; - SrsConsumer* _consumer; + SrsLiveConsumer* _consumer; public: // TODO: FIXME: Refine timeout in time unit. - SrsQueueRecvThread(SrsConsumer* consumer, SrsRtmpServer* rtmp_sdk, srs_utime_t tm, SrsContextId parent_cid); + SrsQueueRecvThread(SrsLiveConsumer* consumer, SrsRtmpServer* rtmp_sdk, srs_utime_t tm, SrsContextId parent_cid); virtual ~SrsQueueRecvThread(); public: virtual srs_error_t start(); diff --git a/trunk/src/app/srs_app_rtc_conn.hpp b/trunk/src/app/srs_app_rtc_conn.hpp index 62292cf38..6dca05709 100644 --- a/trunk/src/app/srs_app_rtc_conn.hpp +++ b/trunk/src/app/srs_app_rtc_conn.hpp @@ -47,7 +47,7 @@ #include class SrsUdpMuxSocket; -class SrsConsumer; +class SrsLiveConsumer; class SrsStunPacket; class SrsRtcServer; class SrsRtcConnection; diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index c228b7d05..29947eaa2 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -677,8 +677,8 @@ srs_error_t SrsRtmpConn::playing(SrsLiveSource* source) set_sock_options(); // Create a consumer of source. - SrsConsumer* consumer = NULL; - SrsAutoFree(SrsConsumer, consumer); + SrsLiveConsumer* consumer = NULL; + SrsAutoFree(SrsLiveConsumer, consumer); if ((err = source->create_consumer(consumer)) != srs_success) { return srs_error_wrap(err, "rtmp: create consumer"); } @@ -709,7 +709,7 @@ srs_error_t SrsRtmpConn::playing(SrsLiveSource* source) return err; } -srs_error_t SrsRtmpConn::do_playing(SrsLiveSource* source, SrsConsumer* consumer, SrsQueueRecvThread* rtrd) +srs_error_t SrsRtmpConn::do_playing(SrsLiveSource* source, SrsLiveConsumer* consumer, SrsQueueRecvThread* rtrd) { srs_error_t err = srs_success; @@ -1111,7 +1111,7 @@ srs_error_t SrsRtmpConn::process_publish_message(SrsLiveSource* source, SrsCommo return err; } -srs_error_t SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessage* msg) +srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer* consumer, SrsCommonMessage* msg) { srs_error_t err = srs_success; diff --git a/trunk/src/app/srs_app_rtmp_conn.hpp b/trunk/src/app/srs_app_rtmp_conn.hpp index 60d938a3a..b3325f13f 100644 --- a/trunk/src/app/srs_app_rtmp_conn.hpp +++ b/trunk/src/app/srs_app_rtmp_conn.hpp @@ -40,7 +40,7 @@ class SrsRequest; class SrsResponse; class SrsLiveSource; class SrsRefer; -class SrsConsumer; +class SrsLiveConsumer; class SrsCommonMessage; class SrsStSocket; class SrsHttpHooks; @@ -162,14 +162,14 @@ private: virtual srs_error_t stream_service_cycle(); virtual srs_error_t check_vhost(bool try_default_vhost); virtual srs_error_t playing(SrsLiveSource* source); - virtual srs_error_t do_playing(SrsLiveSource* source, SrsConsumer* consumer, SrsQueueRecvThread* trd); + virtual srs_error_t do_playing(SrsLiveSource* source, SrsLiveConsumer* consumer, SrsQueueRecvThread* trd); virtual srs_error_t publishing(SrsLiveSource* source); virtual srs_error_t do_publishing(SrsLiveSource* source, SrsPublishRecvThread* trd); virtual srs_error_t acquire_publish(SrsLiveSource* source); virtual void release_publish(SrsLiveSource* source); virtual srs_error_t handle_publish_message(SrsLiveSource* source, SrsCommonMessage* msg); virtual srs_error_t process_publish_message(SrsLiveSource* source, SrsCommonMessage* msg); - virtual srs_error_t process_play_control_msg(SrsConsumer* consumer, SrsCommonMessage* msg); + virtual srs_error_t process_play_control_msg(SrsLiveConsumer* consumer, SrsCommonMessage* msg); virtual void set_sock_options(); private: virtual srs_error_t check_edge_token_traverse_auth(); diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index f716fcd9b..1309dc178 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -329,7 +329,7 @@ srs_error_t SrsMessageQueue::dump_packets(int max_count, SrsSharedPtrMessage** p return err; } -srs_error_t SrsMessageQueue::dump_packets(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag) +srs_error_t SrsMessageQueue::dump_packets(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag) { srs_error_t err = srs_success; @@ -418,7 +418,7 @@ ISrsWakable::~ISrsWakable() { } -SrsConsumer::SrsConsumer(SrsLiveSource* s) +SrsLiveConsumer::SrsLiveConsumer(SrsLiveSource* s) { source = s; paused = false; @@ -434,7 +434,7 @@ SrsConsumer::SrsConsumer(SrsLiveSource* s) #endif } -SrsConsumer::~SrsConsumer() +SrsLiveConsumer::~SrsLiveConsumer() { source->on_consumer_destroy(this); srs_freep(jitter); @@ -445,22 +445,22 @@ SrsConsumer::~SrsConsumer() #endif } -void SrsConsumer::set_queue_size(srs_utime_t queue_size) +void SrsLiveConsumer::set_queue_size(srs_utime_t queue_size) { queue->set_queue_size(queue_size); } -void SrsConsumer::update_source_id() +void SrsLiveConsumer::update_source_id() { should_update_source_id = true; } -int64_t SrsConsumer::get_time() +int64_t SrsLiveConsumer::get_time() { return jitter->get_time(); } -srs_error_t SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsRtmpJitterAlgorithm ag) +srs_error_t SrsLiveConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsRtmpJitterAlgorithm ag) { srs_error_t err = srs_success; @@ -504,7 +504,7 @@ srs_error_t SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, SrsR return err; } -srs_error_t SrsConsumer::dump_packets(SrsMessageArray* msgs, int& count) +srs_error_t SrsLiveConsumer::dump_packets(SrsMessageArray* msgs, int& count) { srs_error_t err = srs_success; @@ -537,7 +537,7 @@ srs_error_t SrsConsumer::dump_packets(SrsMessageArray* msgs, int& count) } #ifdef SRS_PERF_QUEUE_COND_WAIT -void SrsConsumer::wait(int nb_msgs, srs_utime_t msgs_duration) +void SrsLiveConsumer::wait(int nb_msgs, srs_utime_t msgs_duration) { if (paused) { srs_usleep(SRS_CONSTS_RTMP_PULSE); @@ -563,7 +563,7 @@ void SrsConsumer::wait(int nb_msgs, srs_utime_t msgs_duration) } #endif -srs_error_t SrsConsumer::on_play_client_pause(bool is_pause) +srs_error_t SrsLiveConsumer::on_play_client_pause(bool is_pause) { srs_error_t err = srs_success; @@ -573,7 +573,7 @@ srs_error_t SrsConsumer::on_play_client_pause(bool is_pause) return err; } -void SrsConsumer::wakeup() +void SrsLiveConsumer::wakeup() { #ifdef SRS_PERF_QUEUE_COND_WAIT if (mw_waiting) { @@ -681,7 +681,7 @@ void SrsGopCache::clear() audio_after_last_video_count = 0; } -srs_error_t SrsGopCache::dump(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm jitter_algorithm) +srs_error_t SrsGopCache::dump(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm jitter_algorithm) { srs_error_t err = srs_success; @@ -1561,7 +1561,7 @@ SrsFormat* SrsMetaCache::ash_format() return aformat; } -srs_error_t SrsMetaCache::dumps(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag, bool dm, bool ds) +srs_error_t SrsMetaCache::dumps(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag, bool dm, bool ds) { srs_error_t err = srs_success; @@ -2018,10 +2018,10 @@ srs_error_t SrsLiveSource::on_reload_vhost_play(string vhost) srs_utime_t v = _srs_config->get_queue_length(req->vhost); if (true) { - std::vector::iterator it; + std::vector::iterator it; for (it = consumers.begin(); it != consumers.end(); ++it) { - SrsConsumer* consumer = *it; + SrsLiveConsumer* consumer = *it; consumer->set_queue_size(v); } @@ -2066,9 +2066,9 @@ srs_error_t SrsLiveSource::on_source_id_changed(SrsContextId id) _source_id = id; // notice all consumer - std::vector::iterator it; + std::vector::iterator it; for (it = consumers.begin(); it != consumers.end(); ++it) { - SrsConsumer* consumer = *it; + SrsLiveConsumer* consumer = *it; consumer->update_source_id(); } @@ -2139,9 +2139,9 @@ srs_error_t SrsLiveSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPack // copy to all consumer if (!drop_for_reduce) { - std::vector::iterator it; + std::vector::iterator it; for (it = consumers.begin(); it != consumers.end(); ++it) { - SrsConsumer* consumer = *it; + SrsLiveConsumer* consumer = *it; if ((err = consumer->enqueue(meta->data(), atc, jitter_algorithm)) != srs_success) { return srs_error_wrap(err, "consume metadata"); } @@ -2226,7 +2226,7 @@ srs_error_t SrsLiveSource::on_audio_imp(SrsSharedPtrMessage* msg) // copy to all consumer if (!drop_for_reduce) { for (int i = 0; i < (int)consumers.size(); i++) { - SrsConsumer* consumer = consumers.at(i); + SrsLiveConsumer* consumer = consumers.at(i); if ((err = consumer->enqueue(msg, atc, jitter_algorithm)) != srs_success) { return srs_error_wrap(err, "consume message"); } @@ -2356,7 +2356,7 @@ srs_error_t SrsLiveSource::on_video_imp(SrsSharedPtrMessage* msg) // copy to all consumer if (!drop_for_reduce) { for (int i = 0; i < (int)consumers.size(); i++) { - SrsConsumer* consumer = consumers.at(i); + SrsLiveConsumer* consumer = consumers.at(i); if ((err = consumer->enqueue(msg, atc, jitter_algorithm)) != srs_success) { return srs_error_wrap(err, "consume video"); } @@ -2569,11 +2569,11 @@ void SrsLiveSource::on_unpublish() } } -srs_error_t SrsLiveSource::create_consumer(SrsConsumer*& consumer) +srs_error_t SrsLiveSource::create_consumer(SrsLiveConsumer*& consumer) { srs_error_t err = srs_success; - consumer = new SrsConsumer(this); + consumer = new SrsLiveConsumer(this); consumers.push_back(consumer); // for edge, when play edge stream, check the state @@ -2587,7 +2587,7 @@ srs_error_t SrsLiveSource::create_consumer(SrsConsumer*& consumer) return err; } -srs_error_t SrsLiveSource::consumer_dumps(SrsConsumer* consumer, bool ds, bool dm, bool dg) +srs_error_t SrsLiveSource::consumer_dumps(SrsLiveConsumer* consumer, bool ds, bool dm, bool dg) { srs_error_t err = srs_success; @@ -2630,9 +2630,9 @@ srs_error_t SrsLiveSource::consumer_dumps(SrsConsumer* consumer, bool ds, bool d return err; } -void SrsLiveSource::on_consumer_destroy(SrsConsumer* consumer) +void SrsLiveSource::on_consumer_destroy(SrsLiveConsumer* consumer) { - std::vector::iterator it; + std::vector::iterator it; it = std::find(consumers.begin(), consumers.end(), consumer); if (it != consumers.end()) { consumers.erase(it); diff --git a/trunk/src/app/srs_app_source.hpp b/trunk/src/app/srs_app_source.hpp index b06ccc364..719f99a9b 100644 --- a/trunk/src/app/srs_app_source.hpp +++ b/trunk/src/app/srs_app_source.hpp @@ -38,7 +38,7 @@ class SrsFormat; class SrsRtmpFormat; -class SrsConsumer; +class SrsLiveConsumer; class SrsPlayEdge; class SrsPublishEdge; class SrsLiveSource; @@ -157,8 +157,8 @@ public: // @max_count the max count to dequeue, must be positive. virtual srs_error_t dump_packets(int max_count, SrsSharedPtrMessage** pmsgs, int& count); // Dumps packets to consumer, use specified args. - // @remark the atc/tba/tbv/ag are same to SrsConsumer.enqueue(). - virtual srs_error_t dump_packets(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag); + // @remark the atc/tba/tbv/ag are same to SrsLiveConsumer.enqueue(). + virtual srs_error_t dump_packets(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag); private: // Remove a gop from the front. // if no iframe found, clear it. @@ -183,7 +183,7 @@ public: }; // The consumer for SrsLiveSource, that is a play client. -class SrsConsumer : public ISrsWakable +class SrsLiveConsumer : public ISrsWakable { private: SrsRtmpJitter* jitter; @@ -201,8 +201,8 @@ private: srs_utime_t mw_duration; #endif public: - SrsConsumer(SrsLiveSource* s); - virtual ~SrsConsumer(); + SrsLiveConsumer(SrsLiveSource* s); + virtual ~SrsLiveConsumer(); public: // Set the size of queue. virtual void set_queue_size(srs_utime_t queue_size); @@ -279,7 +279,7 @@ public: // clear the gop cache. virtual void clear(); // dump the cached gop to consumer. - virtual srs_error_t dump(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm jitter_algorithm); + virtual srs_error_t dump(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm jitter_algorithm); // used for atc to get the time of gop cache, // The atc will adjust the sequence header timestamp to gop cache. virtual bool empty(); @@ -433,7 +433,7 @@ public: // Dumps cached metadata to consumer. // @param dm Whether dumps the metadata. // @param ds Whether dumps the sequence header. - virtual srs_error_t dumps(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag, bool dm, bool ds); + virtual srs_error_t dumps(SrsLiveConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm ag, bool dm, bool ds); public: // Previous exists sequence header. virtual SrsSharedPtrMessage* previous_vsh(); @@ -515,7 +515,7 @@ private: // deep copy of client request. SrsRequest* req; // To delivery stream to clients. - std::vector consumers; + std::vector consumers; // The time jitter algorithm for vhost. SrsRtmpJitterAlgorithm jitter_algorithm; // For play, whether use interlaced/mixed algorithm to correct timestamp. @@ -600,13 +600,13 @@ public: public: // Create consumer // @param consumer, output the create consumer. - virtual srs_error_t create_consumer(SrsConsumer*& consumer); + virtual srs_error_t create_consumer(SrsLiveConsumer*& consumer); // Dumps packets in cache to consumer. // @param ds, whether dumps the sequence header. // @param dm, whether dumps the metadata. // @param dg, whether dumps the gop cache. - virtual srs_error_t consumer_dumps(SrsConsumer* consumer, bool ds = true, bool dm = true, bool dg = true); - virtual void on_consumer_destroy(SrsConsumer* consumer); + virtual srs_error_t consumer_dumps(SrsLiveConsumer* consumer, bool ds = true, bool dm = true, bool dg = true); + virtual void on_consumer_destroy(SrsLiveConsumer* consumer); virtual void set_cache(bool enabled); virtual SrsRtmpJitterAlgorithm jitter(); public: diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index 51d8cf1af..dc5bf5535 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -26,6 +26,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 113 +#define VERSION_REVISION 114 #endif