RTC: Rename SrsRtcPlayer to SrsRtcPlayStream, SrsRtcPublisher to SrsRtcPublishStream

pull/1882/head
winlin 5 years ago
parent 4c73b9a819
commit 428b9f14c0

@ -271,7 +271,7 @@ SrsRtcOutgoingInfo::~SrsRtcOutgoingInfo()
{
}
SrsRtcPlayer::SrsRtcPlayer(SrsRtcConnection* s, SrsContextId parent_cid)
SrsRtcPlayStream::SrsRtcPlayStream(SrsRtcConnection* s, SrsContextId parent_cid)
{
_parent_cid = parent_cid;
trd = new SrsDummyCoroutine();
@ -291,7 +291,7 @@ SrsRtcPlayer::SrsRtcPlayer(SrsRtcConnection* s, SrsContextId parent_cid)
_srs_config->subscribe(this);
}
SrsRtcPlayer::~SrsRtcPlayer()
SrsRtcPlayStream::~SrsRtcPlayStream()
{
_srs_config->unsubscribe(this);
@ -300,7 +300,7 @@ SrsRtcPlayer::~SrsRtcPlayer()
srs_freep(video_queue_);
}
srs_error_t SrsRtcPlayer::initialize(uint32_t vssrc, uint32_t assrc, uint16_t v_pt, uint16_t a_pt)
srs_error_t SrsRtcPlayStream::initialize(uint32_t vssrc, uint32_t assrc, uint16_t v_pt, uint16_t a_pt)
{
srs_error_t err = srs_success;
@ -324,7 +324,7 @@ srs_error_t SrsRtcPlayer::initialize(uint32_t vssrc, uint32_t assrc, uint16_t v_
return err;
}
srs_error_t SrsRtcPlayer::on_reload_vhost_play(string vhost)
srs_error_t SrsRtcPlayStream::on_reload_vhost_play(string vhost)
{
SrsRequest* req = session_->req;
@ -340,17 +340,17 @@ srs_error_t SrsRtcPlayer::on_reload_vhost_play(string vhost)
return srs_success;
}
srs_error_t SrsRtcPlayer::on_reload_vhost_realtime(string vhost)
srs_error_t SrsRtcPlayStream::on_reload_vhost_realtime(string vhost)
{
return on_reload_vhost_play(vhost);
}
SrsContextId SrsRtcPlayer::cid()
SrsContextId SrsRtcPlayStream::cid()
{
return trd->cid();
}
srs_error_t SrsRtcPlayer::start()
srs_error_t SrsRtcPlayStream::start()
{
srs_error_t err = srs_success;
@ -364,17 +364,17 @@ srs_error_t SrsRtcPlayer::start()
return err;
}
void SrsRtcPlayer::stop()
void SrsRtcPlayStream::stop()
{
trd->stop();
}
void SrsRtcPlayer::stop_loop()
void SrsRtcPlayStream::stop_loop()
{
trd->interrupt();
}
srs_error_t SrsRtcPlayer::cycle()
srs_error_t SrsRtcPlayStream::cycle()
{
srs_error_t err = srs_success;
@ -470,7 +470,7 @@ srs_error_t SrsRtcPlayer::cycle()
}
}
srs_error_t SrsRtcPlayer::send_packets(SrsRtcSource* source, const vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info)
srs_error_t SrsRtcPlayStream::send_packets(SrsRtcSource* source, const vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info)
{
srs_error_t err = srs_success;
@ -512,7 +512,7 @@ srs_error_t SrsRtcPlayer::send_packets(SrsRtcSource* source, const vector<SrsRtp
return err;
}
srs_error_t SrsRtcPlayer::do_send_packets(const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info)
srs_error_t SrsRtcPlayStream::do_send_packets(const std::vector<SrsRtpPacket2*>& pkts, SrsRtcOutgoingInfo& info)
{
srs_error_t err = srs_success;
@ -596,7 +596,7 @@ srs_error_t SrsRtcPlayer::do_send_packets(const std::vector<SrsRtpPacket2*>& pkt
return err;
}
void SrsRtcPlayer::nack_fetch(vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint16_t seq)
void SrsRtcPlayStream::nack_fetch(vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint16_t seq)
{
SrsRtpPacket2* pkt = NULL;
@ -611,12 +611,12 @@ void SrsRtcPlayer::nack_fetch(vector<SrsRtpPacket2*>& pkts, uint32_t ssrc, uint1
}
}
void SrsRtcPlayer::simulate_nack_drop(int nn)
void SrsRtcPlayStream::simulate_nack_drop(int nn)
{
nn_simulate_nack_drop = nn;
}
void SrsRtcPlayer::simulate_drop_packet(SrsRtpHeader* h, int nn_bytes)
void SrsRtcPlayStream::simulate_drop_packet(SrsRtpHeader* h, int nn_bytes)
{
srs_warn("RTC NACK simulator #%d drop seq=%u, ssrc=%u/%s, ts=%u, %d bytes", nn_simulate_nack_drop,
h->get_sequence(), h->get_ssrc(), (h->get_ssrc()==video_ssrc? "Video":"Audio"), h->get_timestamp(),
@ -625,7 +625,7 @@ void SrsRtcPlayer::simulate_drop_packet(SrsRtpHeader* h, int nn_bytes)
nn_simulate_nack_drop--;
}
srs_error_t SrsRtcPlayer::on_rtcp(char* data, int nb_data)
srs_error_t SrsRtcPlayStream::on_rtcp(char* data, int nb_data)
{
srs_error_t err = srs_success;
@ -690,21 +690,21 @@ srs_error_t SrsRtcPlayer::on_rtcp(char* data, int nb_data)
return err;
}
srs_error_t SrsRtcPlayer::on_rtcp_sr(char* buf, int nb_buf)
srs_error_t SrsRtcPlayStream::on_rtcp_sr(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
// TODO: FIXME: Implements it.
return err;
}
srs_error_t SrsRtcPlayer::on_rtcp_xr(char* buf, int nb_buf)
srs_error_t SrsRtcPlayStream::on_rtcp_xr(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
// TODO: FIXME: Implements it.
return err;
}
srs_error_t SrsRtcPlayer::on_rtcp_feedback(char* buf, int nb_buf)
srs_error_t SrsRtcPlayStream::on_rtcp_feedback(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -790,7 +790,7 @@ srs_error_t SrsRtcPlayer::on_rtcp_feedback(char* buf, int nb_buf)
return err;
}
srs_error_t SrsRtcPlayer::on_rtcp_ps_feedback(char* buf, int nb_buf)
srs_error_t SrsRtcPlayStream::on_rtcp_ps_feedback(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -840,14 +840,14 @@ srs_error_t SrsRtcPlayer::on_rtcp_ps_feedback(char* buf, int nb_buf)
return err;
}
srs_error_t SrsRtcPlayer::on_rtcp_rr(char* data, int nb_data)
srs_error_t SrsRtcPlayStream::on_rtcp_rr(char* data, int nb_data)
{
srs_error_t err = srs_success;
// TODO: FIXME: Implements it.
return err;
}
SrsRtcPublisher::SrsRtcPublisher(SrsRtcConnection* session)
SrsRtcPublishStream::SrsRtcPublishStream(SrsRtcConnection* session)
{
report_timer = new SrsHourGlass(this, 200 * SRS_UTIME_MILLISECONDS);
@ -869,7 +869,7 @@ SrsRtcPublisher::SrsRtcPublisher(SrsRtcConnection* session)
twcc_fb_count_ = 0;
}
SrsRtcPublisher::~SrsRtcPublisher()
SrsRtcPublishStream::~SrsRtcPublishStream()
{
// TODO: FIXME: Do unpublish when session timeout.
if (source) {
@ -884,7 +884,7 @@ SrsRtcPublisher::~SrsRtcPublisher()
srs_freep(audio_queue_);
}
srs_error_t SrsRtcPublisher::initialize(uint32_t vssrc, uint32_t assrc, int twcc_id, SrsRequest* r)
srs_error_t SrsRtcPublishStream::initialize(uint32_t vssrc, uint32_t assrc, int twcc_id, SrsRequest* r)
{
srs_error_t err = srs_success;
@ -934,7 +934,7 @@ srs_error_t SrsRtcPublisher::initialize(uint32_t vssrc, uint32_t assrc, int twcc
return err;
}
void SrsRtcPublisher::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ssrc)
void SrsRtcPublishStream::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ssrc)
{
// If DTLS is not OK, drop all messages.
if (!session_->transport_) {
@ -984,7 +984,7 @@ void SrsRtcPublisher::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ssr
}
}
srs_error_t SrsRtcPublisher::send_rtcp_rr(uint32_t ssrc, SrsRtpRingBuffer* rtp_queue)
srs_error_t SrsRtcPublishStream::send_rtcp_rr(uint32_t ssrc, SrsRtpRingBuffer* rtp_queue)
{
srs_error_t err = srs_success;
@ -1042,7 +1042,7 @@ srs_error_t SrsRtcPublisher::send_rtcp_rr(uint32_t ssrc, SrsRtpRingBuffer* rtp_q
return err;
}
srs_error_t SrsRtcPublisher::send_rtcp_xr_rrtr(uint32_t ssrc)
srs_error_t SrsRtcPublishStream::send_rtcp_xr_rrtr(uint32_t ssrc)
{
srs_error_t err = srs_success;
@ -1103,7 +1103,7 @@ srs_error_t SrsRtcPublisher::send_rtcp_xr_rrtr(uint32_t ssrc)
return err;
}
srs_error_t SrsRtcPublisher::send_rtcp_fb_pli(uint32_t ssrc)
srs_error_t SrsRtcPublishStream::send_rtcp_fb_pli(uint32_t ssrc)
{
srs_error_t err = srs_success;
@ -1140,12 +1140,12 @@ srs_error_t SrsRtcPublisher::send_rtcp_fb_pli(uint32_t ssrc)
return err;
}
srs_error_t SrsRtcPublisher::on_twcc(uint16_t sn) {
srs_error_t SrsRtcPublishStream::on_twcc(uint16_t sn) {
srs_utime_t now = srs_get_system_time();
return rtcp_twcc_.recv_packet(sn, now);
}
srs_error_t SrsRtcPublisher::on_rtp(char* data, int nb_data)
srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
{
srs_error_t err = srs_success;
@ -1254,7 +1254,7 @@ srs_error_t SrsRtcPublisher::on_rtp(char* data, int nb_data)
return err;
}
void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* buf, ISrsRtpPayloader** ppayload)
void SrsRtcPublishStream::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* buf, ISrsRtpPayloader** ppayload)
{
// No payload, ignore.
if (buf->empty()) {
@ -1276,7 +1276,7 @@ void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* bu
}
}
srs_error_t SrsRtcPublisher::on_audio(SrsRtpPacket2* pkt)
srs_error_t SrsRtcPublishStream::on_audio(SrsRtpPacket2* pkt)
{
srs_error_t err = srs_success;
@ -1288,7 +1288,7 @@ srs_error_t SrsRtcPublisher::on_audio(SrsRtpPacket2* pkt)
return err;
}
srs_error_t SrsRtcPublisher::on_video(SrsRtpPacket2* pkt)
srs_error_t SrsRtcPublishStream::on_video(SrsRtpPacket2* pkt)
{
srs_error_t err = srs_success;
@ -1307,7 +1307,7 @@ srs_error_t SrsRtcPublisher::on_video(SrsRtpPacket2* pkt)
return err;
}
srs_error_t SrsRtcPublisher::on_nack(SrsRtpPacket2* pkt)
srs_error_t SrsRtcPublishStream::on_nack(SrsRtpPacket2* pkt)
{
srs_error_t err = srs_success;
@ -1352,7 +1352,7 @@ srs_error_t SrsRtcPublisher::on_nack(SrsRtpPacket2* pkt)
return err;
}
srs_error_t SrsRtcPublisher::send_periodic_twcc()
srs_error_t SrsRtcPublishStream::send_periodic_twcc()
{
srs_error_t err = srs_success;
srs_utime_t now = srs_get_system_time();
@ -1381,7 +1381,7 @@ srs_error_t SrsRtcPublisher::send_periodic_twcc()
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp(char* data, int nb_data)
srs_error_t SrsRtcPublishStream::on_rtcp(char* data, int nb_data)
{
srs_error_t err = srs_success;
@ -1446,7 +1446,7 @@ srs_error_t SrsRtcPublisher::on_rtcp(char* data, int nb_data)
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp_sr(char* buf, int nb_buf)
srs_error_t SrsRtcPublishStream::on_rtcp_sr(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -1537,7 +1537,7 @@ block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp_xr(char* buf, int nb_buf)
srs_error_t SrsRtcPublishStream::on_rtcp_xr(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -1601,14 +1601,14 @@ srs_error_t SrsRtcPublisher::on_rtcp_xr(char* buf, int nb_buf)
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp_feedback(char* buf, int nb_buf)
srs_error_t SrsRtcPublishStream::on_rtcp_feedback(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
// TODO: FIXME: Implements it.
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp_ps_feedback(char* buf, int nb_buf)
srs_error_t SrsRtcPublishStream::on_rtcp_ps_feedback(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -1654,7 +1654,7 @@ srs_error_t SrsRtcPublisher::on_rtcp_ps_feedback(char* buf, int nb_buf)
return err;
}
srs_error_t SrsRtcPublisher::on_rtcp_rr(char* buf, int nb_buf)
srs_error_t SrsRtcPublishStream::on_rtcp_rr(char* buf, int nb_buf)
{
srs_error_t err = srs_success;
@ -1723,7 +1723,7 @@ block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
return err;
}
void SrsRtcPublisher::request_keyframe()
void SrsRtcPublishStream::request_keyframe()
{
SrsContextId scid = _srs_context->get_id();
SrsContextId pcid = session_->context_id();
@ -1732,7 +1732,7 @@ void SrsRtcPublisher::request_keyframe()
request_keyframe_ = true;
}
srs_error_t SrsRtcPublisher::notify(int type, srs_utime_t interval, srs_utime_t tick)
srs_error_t SrsRtcPublishStream::notify(int type, srs_utime_t interval, srs_utime_t tick)
{
srs_error_t err = srs_success;
@ -1750,12 +1750,12 @@ srs_error_t SrsRtcPublisher::notify(int type, srs_utime_t interval, srs_utime_t
return err;
}
void SrsRtcPublisher::simulate_nack_drop(int nn)
void SrsRtcPublishStream::simulate_nack_drop(int nn)
{
nn_simulate_nack_drop = nn;
}
void SrsRtcPublisher::simulate_drop_packet(SrsRtpHeader* h, int nn_bytes)
void SrsRtcPublishStream::simulate_drop_packet(SrsRtpHeader* h, int nn_bytes)
{
srs_warn("RTC NACK simulator #%d drop seq=%u, ssrc=%u/%s, ts=%u, %d bytes", nn_simulate_nack_drop,
h->get_sequence(), h->get_ssrc(), (h->get_ssrc()==video_ssrc? "Video":"Audio"), h->get_timestamp(),
@ -2019,7 +2019,7 @@ srs_error_t SrsRtcConnection::start_play()
if (player_) {
return err;
}
player_ = new SrsRtcPlayer(this, _srs_context->get_id());
player_ = new SrsRtcPlayStream(this, _srs_context->get_id());
uint32_t video_ssrc = 0;
uint32_t audio_ssrc = 0;
@ -2037,11 +2037,11 @@ srs_error_t SrsRtcConnection::start_play()
}
if ((err = player_->initialize(video_ssrc, audio_ssrc, video_payload_type, audio_payload_type)) != srs_success) {
return srs_error_wrap(err, "SrsRtcPlayer init");
return srs_error_wrap(err, "SrsRtcPlayStream init");
}
if ((err = player_->start()) != srs_success) {
return srs_error_wrap(err, "start SrsRtcPlayer");
return srs_error_wrap(err, "start SrsRtcPlayStream");
}
return err;
@ -2056,7 +2056,7 @@ srs_error_t SrsRtcConnection::start_publish()
if (publisher_) {
return err;
}
publisher_ = new SrsRtcPublisher(this);
publisher_ = new SrsRtcPublishStream(this);
// Request PLI for exists players?
//publisher_->request_keyframe();

@ -182,7 +182,8 @@ public:
virtual ~SrsRtcOutgoingInfo();
};
class SrsRtcPlayer : virtual public ISrsCoroutineHandler, virtual public ISrsReloadHandler
// A RTC play stream, client pull and play stream from SRS.
class SrsRtcPlayStream : virtual public ISrsCoroutineHandler, virtual public ISrsReloadHandler
{
protected:
SrsContextId _parent_cid;
@ -208,8 +209,8 @@ private:
// Whether enabled nack.
bool nack_enabled_;
public:
SrsRtcPlayer(SrsRtcConnection* s, SrsContextId parent_cid);
virtual ~SrsRtcPlayer();
SrsRtcPlayStream(SrsRtcConnection* s, SrsContextId parent_cid);
virtual ~SrsRtcPlayStream();
public:
srs_error_t initialize(uint32_t vssrc, uint32_t assrc, uint16_t v_pt, uint16_t a_pt);
// interface ISrsReloadHandler
@ -242,7 +243,8 @@ private:
srs_error_t on_rtcp_rr(char* data, int nb_data);
};
class SrsRtcPublisher : virtual public ISrsHourGlass, virtual public ISrsRtpPacketDecodeHandler, virtual public ISrsRtcPublishStream
// A RTC publish stream, client push and publish stream to SRS.
class SrsRtcPublishStream : virtual public ISrsHourGlass, virtual public ISrsRtpPacketDecodeHandler, virtual public ISrsRtcPublishStream
{
private:
SrsHourGlass* report_timer;
@ -275,8 +277,8 @@ private:
SrsRtcpTWCC rtcp_twcc_;
SrsRtpExtensionTypes extension_types_;
public:
SrsRtcPublisher(SrsRtcConnection* session);
virtual ~SrsRtcPublisher();
SrsRtcPublishStream(SrsRtcConnection* session);
virtual ~SrsRtcPublishStream();
public:
srs_error_t initialize(uint32_t vssrc, uint32_t assrc, int twcc_id, SrsRequest* req);
private:
@ -317,16 +319,16 @@ private:
class SrsRtcConnection
{
friend class SrsSecurityTransport;
friend class SrsRtcPlayer;
friend class SrsRtcPublisher;
friend class SrsRtcPlayStream;
friend class SrsRtcPublishStream;
public:
bool disposing_;
private:
SrsRtcServer* server_;
SrsRtcConnectionStateType state_;
SrsSecurityTransport* transport_;
SrsRtcPlayer* player_;
SrsRtcPublisher* publisher_;
SrsRtcPlayStream* player_;
SrsRtcPublishStream* publisher_;
bool is_publisher_;
private:
SrsUdpMuxSocket* sendonly_skt;
@ -402,13 +404,13 @@ public:
virtual ~ISrsRtcHijacker();
public:
// When start publisher by RTC.
virtual srs_error_t on_start_publish(SrsRtcConnection* session, SrsRtcPublisher* publisher, SrsRequest* req) = 0;
virtual srs_error_t on_start_publish(SrsRtcConnection* session, SrsRtcPublishStream* publisher, SrsRequest* req) = 0;
// When got RTP plaintext packet.
virtual srs_error_t on_rtp_packet(SrsRtcConnection* session, SrsRtcPublisher* publisher, SrsRequest* req, SrsRtpPacket2* pkt) = 0;
virtual srs_error_t on_rtp_packet(SrsRtcConnection* session, SrsRtcPublishStream* publisher, SrsRequest* req, SrsRtpPacket2* pkt) = 0;
// When start player by RTC.
virtual srs_error_t on_start_play(SrsRtcConnection* session, SrsRtcPlayer* player, SrsRequest* req) = 0;
virtual srs_error_t on_start_play(SrsRtcConnection* session, SrsRtcPlayStream* player, SrsRequest* req) = 0;
// When start consuming for player for RTC.
virtual srs_error_t on_start_consume(SrsRtcConnection* session, SrsRtcPlayer* player, SrsRequest* req, SrsRtcConsumer* consumer) = 0;
virtual srs_error_t on_start_consume(SrsRtcConnection* session, SrsRtcPlayStream* player, SrsRequest* req, SrsRtcConsumer* consumer) = 0;
};
extern ISrsRtcHijacker* _srs_rtc_hijacker;

@ -103,6 +103,7 @@ public:
virtual void request_keyframe() = 0;
};
// A Source is a stream, to publish and to play with, binding to SrsRtcPublishStream and SrsRtcPlayStream.
class SrsRtcSource
{
private:

Loading…
Cancel
Save