1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

RTC: Rename SrsRtcSource to SrsRtcStream

This commit is contained in:
winlin 2020-07-08 19:01:33 +08:00
parent 428b9f14c0
commit 5b199249d0
6 changed files with 56 additions and 56 deletions

View file

@ -378,7 +378,7 @@ srs_error_t SrsRtcPlayStream::cycle()
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
SrsRtcSource* source = NULL; SrsRtcStream* source = NULL;
SrsRequest* req = session_->req; SrsRequest* req = session_->req;
if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) { if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) {
@ -470,7 +470,7 @@ srs_error_t SrsRtcPlayStream::cycle()
} }
} }
srs_error_t SrsRtcPlayStream::send_packets(SrsRtcSource* source, const vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info) srs_error_t SrsRtcPlayStream::send_packets(SrsRtcStream* source, const vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -1864,7 +1864,7 @@ SrsContextId SrsRtcConnection::context_id()
return cid; return cid;
} }
srs_error_t SrsRtcConnection::initialize(SrsRtcSource* source, SrsRequest* r, bool is_publisher, string username, SrsContextId context_id) srs_error_t SrsRtcConnection::initialize(SrsRtcStream* source, SrsRequest* r, bool is_publisher, string username, SrsContextId context_id)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;

View file

@ -50,7 +50,7 @@ class SrsStunPacket;
class SrsRtcServer; class SrsRtcServer;
class SrsRtcConnection; class SrsRtcConnection;
class SrsSharedPtrMessage; class SrsSharedPtrMessage;
class SrsRtcSource; class SrsRtcStream;
class SrsRtpPacket2; class SrsRtpPacket2;
class ISrsCodec; class ISrsCodec;
class SrsRtpNackForReceiver; class SrsRtpNackForReceiver;
@ -226,7 +226,7 @@ public:
public: public:
virtual srs_error_t cycle(); virtual srs_error_t cycle();
private: private:
srs_error_t send_packets(SrsRtcSource* source, const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info); srs_error_t send_packets(SrsRtcStream* source, const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info);
srs_error_t do_send_packets(const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info); srs_error_t do_send_packets(const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info);
public: public:
void nack_fetch(std::vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint16_t seq); void nack_fetch(std::vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint16_t seq);
@ -264,7 +264,7 @@ private:
SrsRtpNackForReceiver* audio_nack_; SrsRtpNackForReceiver* audio_nack_;
private: private:
SrsRequest* req; SrsRequest* req;
SrsRtcSource* source; SrsRtcStream* source;
// Simulators. // Simulators.
int nn_simulate_nack_drop; int nn_simulate_nack_drop;
private: private:
@ -347,7 +347,7 @@ private:
// TODO: FIXME: Support reload. // TODO: FIXME: Support reload.
bool encrypt; bool encrypt;
SrsRequest* req; SrsRequest* req;
SrsRtcSource* source_; SrsRtcStream* source_;
SrsSdp remote_sdp; SrsSdp remote_sdp;
SrsSdp local_sdp; SrsSdp local_sdp;
public: public:
@ -378,7 +378,7 @@ public:
SrsContextId context_id(); SrsContextId context_id();
public: public:
// Before initialize, user must set the local SDP, which is used to inititlize DTLS. // Before initialize, user must set the local SDP, which is used to inititlize DTLS.
srs_error_t initialize(SrsRtcSource* source, SrsRequest* r, bool is_publisher, std::string username, SrsContextId context_id); srs_error_t initialize(SrsRtcStream* source, SrsRequest* r, bool is_publisher, std::string username, SrsContextId context_id);
// The peer address may change, we can identify that by STUN messages. // The peer address may change, we can identify that by STUN messages.
srs_error_t on_stun(SrsUdpMuxSocket* skt, SrsStunPacket* r); srs_error_t on_stun(SrsUdpMuxSocket* skt, SrsStunPacket* r);
srs_error_t on_dtls(char* data, int nb_data); srs_error_t on_dtls(char* data, int nb_data);

View file

@ -300,7 +300,7 @@ srs_error_t SrsRtcServer::create_session(
) { ) {
srs_error_t err = srs_success; srs_error_t err = srs_success;
SrsRtcSource* source = NULL; SrsRtcStream* source = NULL;
if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) { if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) {
return srs_error_wrap(err, "create source"); return srs_error_wrap(err, "create source");
} }
@ -393,7 +393,7 @@ srs_error_t SrsRtcServer::setup_session2(SrsRtcConnection* session, SrsRequest*
return err; return err;
} }
SrsRtcSource* source = NULL; SrsRtcStream* source = NULL;
if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) { if ((err = _srs_rtc_sources->fetch_or_create(req, &source)) != srs_success) {
return srs_error_wrap(err, "create source"); return srs_error_wrap(err, "create source");
} }

View file

@ -90,7 +90,7 @@ srs_error_t aac_raw_append_adts_header(SrsSharedPtrMessage* shared_audio, SrsFor
return err; return err;
} }
SrsRtcConsumer::SrsRtcConsumer(SrsRtcSource* s) SrsRtcConsumer::SrsRtcConsumer(SrsRtcStream* s)
{ {
source = s; source = s;
should_update_source_id = false; should_update_source_id = false;
@ -165,21 +165,21 @@ void SrsRtcConsumer::wait(int nb_msgs)
srs_cond_wait(mw_wait); srs_cond_wait(mw_wait);
} }
SrsRtcSourceManager::SrsRtcSourceManager() SrsRtcStreamManager::SrsRtcStreamManager()
{ {
lock = NULL; lock = NULL;
} }
SrsRtcSourceManager::~SrsRtcSourceManager() SrsRtcStreamManager::~SrsRtcStreamManager()
{ {
srs_mutex_destroy(lock); srs_mutex_destroy(lock);
} }
srs_error_t SrsRtcSourceManager::fetch_or_create(SrsRequest* r, SrsRtcSource** pps) srs_error_t SrsRtcStreamManager::fetch_or_create(SrsRequest* r, SrsRtcStream** pps)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
// Lazy create lock, because ST is not ready in SrsRtcSourceManager constructor. // Lazy create lock, because ST is not ready in SrsRtcStreamManager constructor.
if (!lock) { if (!lock) {
lock = srs_mutex_new(); lock = srs_mutex_new();
} }
@ -188,7 +188,7 @@ srs_error_t SrsRtcSourceManager::fetch_or_create(SrsRequest* r, SrsRtcSource** p
// @bug https://github.com/ossrs/srs/issues/1230 // @bug https://github.com/ossrs/srs/issues/1230
SrsLocker(lock); SrsLocker(lock);
SrsRtcSource* source = NULL; SrsRtcStream* source = NULL;
if ((source = fetch(r)) != NULL) { if ((source = fetch(r)) != NULL) {
*pps = source; *pps = source;
return err; return err;
@ -202,7 +202,7 @@ srs_error_t SrsRtcSourceManager::fetch_or_create(SrsRequest* r, SrsRtcSource** p
srs_trace("new source, stream_url=%s", stream_url.c_str()); srs_trace("new source, stream_url=%s", stream_url.c_str());
source = new SrsRtcSource(); source = new SrsRtcStream();
if ((err = source->initialize(r)) != srs_success) { if ((err = source->initialize(r)) != srs_success) {
return srs_error_wrap(err, "init source %s", r->get_stream_url().c_str()); return srs_error_wrap(err, "init source %s", r->get_stream_url().c_str());
} }
@ -214,9 +214,9 @@ srs_error_t SrsRtcSourceManager::fetch_or_create(SrsRequest* r, SrsRtcSource** p
return err; return err;
} }
SrsRtcSource* SrsRtcSourceManager::fetch(SrsRequest* r) SrsRtcStream* SrsRtcStreamManager::fetch(SrsRequest* r)
{ {
SrsRtcSource* source = NULL; SrsRtcStream* source = NULL;
string stream_url = r->get_stream_url(); string stream_url = r->get_stream_url();
if (pool.find(stream_url) == pool.end()) { if (pool.find(stream_url) == pool.end()) {
@ -233,7 +233,7 @@ SrsRtcSource* SrsRtcSourceManager::fetch(SrsRequest* r)
return source; return source;
} }
SrsRtcSourceManager* _srs_rtc_sources = new SrsRtcSourceManager(); SrsRtcStreamManager* _srs_rtc_sources = new SrsRtcStreamManager();
ISrsRtcPublishStream::ISrsRtcPublishStream() ISrsRtcPublishStream::ISrsRtcPublishStream()
{ {
@ -243,7 +243,7 @@ ISrsRtcPublishStream::~ISrsRtcPublishStream()
{ {
} }
SrsRtcSource::SrsRtcSource() SrsRtcStream::SrsRtcStream()
{ {
_can_publish = true; _can_publish = true;
publish_stream_ = NULL; publish_stream_ = NULL;
@ -256,7 +256,7 @@ SrsRtcSource::SrsRtcSource()
#endif #endif
} }
SrsRtcSource::~SrsRtcSource() SrsRtcStream::~SrsRtcStream()
{ {
// never free the consumers, // never free the consumers,
// for all consumers are auto free. // for all consumers are auto free.
@ -266,7 +266,7 @@ SrsRtcSource::~SrsRtcSource()
srs_freep(bridger_); srs_freep(bridger_);
} }
srs_error_t SrsRtcSource::initialize(SrsRequest* r) srs_error_t SrsRtcStream::initialize(SrsRequest* r)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -282,12 +282,12 @@ srs_error_t SrsRtcSource::initialize(SrsRequest* r)
return err; return err;
} }
void SrsRtcSource::update_auth(SrsRequest* r) void SrsRtcStream::update_auth(SrsRequest* r)
{ {
req->update_auth(r); req->update_auth(r);
} }
srs_error_t SrsRtcSource::on_source_id_changed(SrsContextId id) srs_error_t SrsRtcStream::on_source_id_changed(SrsContextId id)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -313,22 +313,22 @@ srs_error_t SrsRtcSource::on_source_id_changed(SrsContextId id)
return err; return err;
} }
SrsContextId SrsRtcSource::source_id() SrsContextId SrsRtcStream::source_id()
{ {
return _source_id; return _source_id;
} }
SrsContextId SrsRtcSource::pre_source_id() SrsContextId SrsRtcStream::pre_source_id()
{ {
return _pre_source_id; return _pre_source_id;
} }
ISrsSourceBridger* SrsRtcSource::bridger() ISrsSourceBridger* SrsRtcStream::bridger()
{ {
return bridger_; return bridger_;
} }
srs_error_t SrsRtcSource::create_consumer(SrsRtcConsumer*& consumer) srs_error_t SrsRtcStream::create_consumer(SrsRtcConsumer*& consumer)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -340,7 +340,7 @@ srs_error_t SrsRtcSource::create_consumer(SrsRtcConsumer*& consumer)
return err; return err;
} }
srs_error_t SrsRtcSource::consumer_dumps(SrsRtcConsumer* consumer, bool ds, bool dm, bool dg) srs_error_t SrsRtcStream::consumer_dumps(SrsRtcConsumer* consumer, bool ds, bool dm, bool dg)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -350,7 +350,7 @@ srs_error_t SrsRtcSource::consumer_dumps(SrsRtcConsumer* consumer, bool ds, bool
return err; return err;
} }
void SrsRtcSource::on_consumer_destroy(SrsRtcConsumer* consumer) void SrsRtcStream::on_consumer_destroy(SrsRtcConsumer* consumer)
{ {
std::vector<SrsRtcConsumer*>::iterator it; std::vector<SrsRtcConsumer*>::iterator it;
it = std::find(consumers.begin(), consumers.end(), consumer); it = std::find(consumers.begin(), consumers.end(), consumer);
@ -359,12 +359,12 @@ void SrsRtcSource::on_consumer_destroy(SrsRtcConsumer* consumer)
} }
} }
bool SrsRtcSource::can_publish(bool is_edge) bool SrsRtcStream::can_publish(bool is_edge)
{ {
return _can_publish; return _can_publish;
} }
srs_error_t SrsRtcSource::on_publish() srs_error_t SrsRtcStream::on_publish()
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -384,7 +384,7 @@ srs_error_t SrsRtcSource::on_publish()
return err; return err;
} }
void SrsRtcSource::on_unpublish() void SrsRtcStream::on_unpublish()
{ {
// ignore when already unpublished. // ignore when already unpublished.
if (_can_publish) { if (_can_publish) {
@ -399,17 +399,17 @@ void SrsRtcSource::on_unpublish()
// TODO: FIXME: Handle by statistic. // TODO: FIXME: Handle by statistic.
} }
ISrsRtcPublishStream* SrsRtcSource::publish_stream() ISrsRtcPublishStream* SrsRtcStream::publish_stream()
{ {
return publish_stream_; return publish_stream_;
} }
void SrsRtcSource::set_publish_stream(ISrsRtcPublishStream* v) void SrsRtcStream::set_publish_stream(ISrsRtcPublishStream* v)
{ {
publish_stream_ = v; publish_stream_ = v;
} }
srs_error_t SrsRtcSource::on_rtp(SrsRtpPacket2* pkt) srs_error_t SrsRtcStream::on_rtp(SrsRtpPacket2* pkt)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -424,7 +424,7 @@ srs_error_t SrsRtcSource::on_rtp(SrsRtpPacket2* pkt)
} }
#ifdef SRS_FFMPEG_FIT #ifdef SRS_FFMPEG_FIT
SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcSource* source) SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcStream* source)
{ {
req = NULL; req = NULL;
source_ = source; source_ = source;
@ -727,7 +727,7 @@ srs_error_t SrsRtcFromRtmpBridger::filter(SrsSharedPtrMessage* msg, SrsFormat* f
return err; return err;
} }
srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsSharedPtrMessage* msg, SrsRtpPacket2** ppkt) srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcStream* source, SrsSharedPtrMessage* msg, SrsRtpPacket2** ppkt)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;

View file

@ -38,7 +38,7 @@ class SrsMetaCache;
class SrsSharedPtrMessage; class SrsSharedPtrMessage;
class SrsCommonMessage; class SrsCommonMessage;
class SrsMessageArray; class SrsMessageArray;
class SrsRtcSource; class SrsRtcStream;
class SrsRtcFromRtmpBridger; class SrsRtcFromRtmpBridger;
class SrsAudioRecode; class SrsAudioRecode;
class SrsRtpPacket2; class SrsRtpPacket2;
@ -47,7 +47,7 @@ class SrsSample;
class SrsRtcConsumer class SrsRtcConsumer
{ {
private: private:
SrsRtcSource* source; SrsRtcStream* source;
std::vector<SrsRtpPacket2*> queue; std::vector<SrsRtpPacket2*> queue;
// when source id changed, notice all consumers // when source id changed, notice all consumers
bool should_update_source_id; bool should_update_source_id;
@ -57,7 +57,7 @@ private:
bool mw_waiting; bool mw_waiting;
int mw_min_msgs; int mw_min_msgs;
public: public:
SrsRtcConsumer(SrsRtcSource* s); SrsRtcConsumer(SrsRtcStream* s);
virtual ~SrsRtcConsumer(); virtual ~SrsRtcConsumer();
public: public:
// When source id changed, notice client to print. // When source id changed, notice client to print.
@ -71,27 +71,27 @@ public:
virtual void wait(int nb_msgs); virtual void wait(int nb_msgs);
}; };
class SrsRtcSourceManager class SrsRtcStreamManager
{ {
private: private:
srs_mutex_t lock; srs_mutex_t lock;
std::map<std::string, SrsRtcSource*> pool; std::map<std::string, SrsRtcStream*> pool;
public: public:
SrsRtcSourceManager(); SrsRtcStreamManager();
virtual ~SrsRtcSourceManager(); virtual ~SrsRtcStreamManager();
public: public:
// create source when fetch from cache failed. // create source when fetch from cache failed.
// @param r the client request. // @param r the client request.
// @param pps the matched source, if success never be NULL. // @param pps the matched source, if success never be NULL.
virtual srs_error_t fetch_or_create(SrsRequest* r, SrsRtcSource** pps); virtual srs_error_t fetch_or_create(SrsRequest* r, SrsRtcStream** pps);
private: private:
// Get the exists source, NULL when not exists. // Get the exists source, NULL when not exists.
// update the request and return the exists source. // update the request and return the exists source.
virtual SrsRtcSource* fetch(SrsRequest* r); virtual SrsRtcStream* fetch(SrsRequest* r);
}; };
// Global singleton instance. // Global singleton instance.
extern SrsRtcSourceManager* _srs_rtc_sources; extern SrsRtcStreamManager* _srs_rtc_sources;
// A publish stream interface, for source to callback with. // A publish stream interface, for source to callback with.
class ISrsRtcPublishStream class ISrsRtcPublishStream
@ -104,7 +104,7 @@ public:
}; };
// A Source is a stream, to publish and to play with, binding to SrsRtcPublishStream and SrsRtcPlayStream. // A Source is a stream, to publish and to play with, binding to SrsRtcPublishStream and SrsRtcPlayStream.
class SrsRtcSource class SrsRtcStream
{ {
private: private:
// For publish, it's the publish client id. // For publish, it's the publish client id.
@ -124,8 +124,8 @@ private:
// Whether source is avaiable for publishing. // Whether source is avaiable for publishing.
bool _can_publish; bool _can_publish;
public: public:
SrsRtcSource(); SrsRtcStream();
virtual ~SrsRtcSource(); virtual ~SrsRtcStream();
public: public:
virtual srs_error_t initialize(SrsRequest* r); virtual srs_error_t initialize(SrsRequest* r);
// Update the authentication information in request. // Update the authentication information in request.
@ -166,7 +166,7 @@ class SrsRtcFromRtmpBridger : public ISrsSourceBridger
{ {
private: private:
SrsRequest* req; SrsRequest* req;
SrsRtcSource* source_; SrsRtcStream* source_;
// The format, codec information. // The format, codec information.
SrsRtmpFormat* format; SrsRtmpFormat* format;
// The metadata cache. // The metadata cache.
@ -180,7 +180,7 @@ private:
uint16_t audio_sequence; uint16_t audio_sequence;
uint16_t video_sequence; uint16_t video_sequence;
public: public:
SrsRtcFromRtmpBridger(SrsRtcSource* source); SrsRtcFromRtmpBridger(SrsRtcStream* source);
virtual ~SrsRtcFromRtmpBridger(); virtual ~SrsRtcFromRtmpBridger();
public: public:
virtual srs_error_t initialize(SrsRequest* r); virtual srs_error_t initialize(SrsRequest* r);
@ -194,7 +194,7 @@ public:
virtual srs_error_t on_video(SrsSharedPtrMessage* msg); virtual srs_error_t on_video(SrsSharedPtrMessage* msg);
private: private:
srs_error_t filter(SrsSharedPtrMessage* msg, SrsFormat* format, bool& has_idr, std::vector<SrsSample*>& samples); srs_error_t filter(SrsSharedPtrMessage* msg, SrsFormat* format, bool& has_idr, std::vector<SrsSample*>& samples);
srs_error_t package_stap_a(SrsRtcSource* source, SrsSharedPtrMessage* msg, SrsRtpPacket2** ppkt); srs_error_t package_stap_a(SrsRtcStream* source, SrsSharedPtrMessage* msg, SrsRtpPacket2** ppkt);
srs_error_t package_nalus(SrsSharedPtrMessage* msg, const std::vector<SrsSample*>& samples, std::vector<SrsRtpPacket2*>& pkts); srs_error_t package_nalus(SrsSharedPtrMessage* msg, const std::vector<SrsSample*>& samples, std::vector<SrsRtpPacket2*>& pkts);
srs_error_t package_single_nalu(SrsSharedPtrMessage* msg, SrsSample* sample, std::vector<SrsRtpPacket2*>& pkts); srs_error_t package_single_nalu(SrsSharedPtrMessage* msg, SrsSample* sample, std::vector<SrsRtpPacket2*>& pkts);
srs_error_t package_fu_a(SrsSharedPtrMessage* msg, SrsSample* sample, int fu_payload_size, std::vector<SrsRtpPacket2*>& pkts); srs_error_t package_fu_a(SrsSharedPtrMessage* msg, SrsSample* sample, int fu_payload_size, std::vector<SrsRtpPacket2*>& pkts);

View file

@ -1728,7 +1728,7 @@ srs_error_t SrsSourceManager::fetch_or_create(SrsRequest* r, ISrsSourceHandler*
bool rtc_enabled = _srs_config->get_rtc_enabled(r->vhost); bool rtc_enabled = _srs_config->get_rtc_enabled(r->vhost);
// Get the RTC source and bridger. // Get the RTC source and bridger.
SrsRtcSource* rtc = NULL; SrsRtcStream* rtc = NULL;
if (rtc_server_enabled && rtc_enabled) { if (rtc_server_enabled && rtc_enabled) {
if ((err = _srs_rtc_sources->fetch_or_create(r, &rtc)) != srs_success) { if ((err = _srs_rtc_sources->fetch_or_create(r, &rtc)) != srs_success) {
err = srs_error_wrap(err, "init rtc %s", r->get_stream_url().c_str()); err = srs_error_wrap(err, "init rtc %s", r->get_stream_url().c_str());