diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 3dfcbc60e..c0a7fa2bc 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -813,7 +813,7 @@ srs_error_t SrsRtcPlayer::on_rtcp_ps_feedback(char* buf, int nb_buf) switch (fmt) { case kPLI: { - ISrsRtcPublisher* publisher = session_->source_->rtc_publisher(); + ISrsRtcPublishStream* publisher = session_->source_->publish_stream(); if (publisher) { publisher->request_keyframe(); srs_trace("RTC request PLI"); @@ -873,7 +873,7 @@ SrsRtcPublisher::~SrsRtcPublisher() { // TODO: FIXME: Do unpublish when session timeout. if (source) { - source->set_rtc_publisher(NULL); + source->set_publish_stream(NULL); source->on_unpublish(); } @@ -923,7 +923,7 @@ srs_error_t SrsRtcPublisher::initialize(uint32_t vssrc, uint32_t assrc, int twcc return srs_error_wrap(err, "on publish"); } - source->set_rtc_publisher(this); + source->set_publish_stream(this); if (_srs_rtc_hijacker) { if ((err = _srs_rtc_hijacker->on_start_publish(session_, this, req)) != srs_success) { diff --git a/trunk/src/app/srs_app_rtc_conn.hpp b/trunk/src/app/srs_app_rtc_conn.hpp index 6547c3027..53f91348b 100644 --- a/trunk/src/app/srs_app_rtc_conn.hpp +++ b/trunk/src/app/srs_app_rtc_conn.hpp @@ -242,7 +242,7 @@ private: srs_error_t on_rtcp_rr(char* data, int nb_data); }; -class SrsRtcPublisher : virtual public ISrsHourGlass, virtual public ISrsRtpPacketDecodeHandler, virtual public ISrsRtcPublisher +class SrsRtcPublisher : virtual public ISrsHourGlass, virtual public ISrsRtpPacketDecodeHandler, virtual public ISrsRtcPublishStream { private: SrsHourGlass* report_timer; diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 265ac52e1..9711d14da 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -235,18 +235,18 @@ SrsRtcSource* SrsRtcSourceManager::fetch(SrsRequest* r) SrsRtcSourceManager* _srs_rtc_sources = new SrsRtcSourceManager(); -ISrsRtcPublisher::ISrsRtcPublisher() +ISrsRtcPublishStream::ISrsRtcPublishStream() { } -ISrsRtcPublisher::~ISrsRtcPublisher() +ISrsRtcPublishStream::~ISrsRtcPublishStream() { } SrsRtcSource::SrsRtcSource() { _can_publish = true; - rtc_publisher_ = NULL; + publish_stream_ = NULL; req = NULL; #ifdef SRS_FFMPEG_FIT @@ -399,14 +399,14 @@ void SrsRtcSource::on_unpublish() // TODO: FIXME: Handle by statistic. } -ISrsRtcPublisher* SrsRtcSource::rtc_publisher() +ISrsRtcPublishStream* SrsRtcSource::publish_stream() { - return rtc_publisher_; + return publish_stream_; } -void SrsRtcSource::set_rtc_publisher(ISrsRtcPublisher* v) +void SrsRtcSource::set_publish_stream(ISrsRtcPublishStream* v) { - rtc_publisher_ = v; + publish_stream_ = v; } srs_error_t SrsRtcSource::on_rtp(SrsRtpPacket2* pkt) diff --git a/trunk/src/app/srs_app_rtc_source.hpp b/trunk/src/app/srs_app_rtc_source.hpp index f7f102cbc..e7753b8f0 100644 --- a/trunk/src/app/srs_app_rtc_source.hpp +++ b/trunk/src/app/srs_app_rtc_source.hpp @@ -93,11 +93,12 @@ private: // Global singleton instance. extern SrsRtcSourceManager* _srs_rtc_sources; -class ISrsRtcPublisher +// A publish stream interface, for source to callback with. +class ISrsRtcPublishStream { public: - ISrsRtcPublisher(); - virtual ~ISrsRtcPublisher(); + ISrsRtcPublishStream(); + virtual ~ISrsRtcPublishStream(); public: virtual void request_keyframe() = 0; }; @@ -113,7 +114,7 @@ private: // previous source id. SrsContextId _pre_source_id; SrsRequest* req; - ISrsRtcPublisher* rtc_publisher_; + ISrsRtcPublishStream* publish_stream_; // Transmux RTMP to RTC. ISrsSourceBridger* bridger_; private: @@ -153,8 +154,8 @@ public: virtual void on_unpublish(); public: // Get and set the publisher, passed to consumer to process requests such as PLI. - ISrsRtcPublisher* rtc_publisher(); - void set_rtc_publisher(ISrsRtcPublisher* v); + ISrsRtcPublishStream* publish_stream(); + void set_publish_stream(ISrsRtcPublishStream* v); // Consume the shared RTP packet, user must free it. srs_error_t on_rtp(SrsRtpPacket2* pkt); };