介绍
分析srs4.0 webrtc 模块 ,推流端对应SrsRtcPublishStream、播放端对应SrsRtcPlayStream 类,本文将简单介绍这两个类。
推流类
SrsRtcPublishStream,关键代码
// A RTC publish stream, client push and publish stream to SRS.
class SrsRtcPublishStream : virtual public ISrsHourGlass, virtual public ISrsRtpPacketDecodeHandler
, virtual public ISrsRtcPublishStream, virtual public ISrsRtcPLIWorkerHandler
{
private:
SrsRequest* req;
SrsRtcStream* source;
private:
// track vector
std::vector<SrsRtcAudioRecvTrack*> audio_tracks_;//描述音频流信息
std::vector<SrsRtcVideoRecvTrack*> video_tracks_;
public:
srs_error_t on_rtp(char* buf, int nb_buf);
private:
srs_error_t do_on_rtp(char* plaintext, int nb_plaintext);