diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 13a03e266..85fcacd6b 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -494,11 +494,8 @@ SrsRtcPlayer::SrsRtcPlayer(SrsRtcSession* s, int parent_cid) session_ = s; - audio_timestamp = 0; audio_sequence = 0; - video_sequence = 0; - mw_msgs = 0; realtime = true; @@ -711,15 +708,12 @@ srs_error_t SrsRtcPlayer::send_packets(SrsRtcSource* source, const vectoris_audio()) { info.nn_audios++; - pkt->header.set_timestamp(audio_timestamp); pkt->header.set_sequence(audio_sequence++); pkt->header.set_ssrc(audio_ssrc); pkt->header.set_payload_type(audio_payload_type); // TODO: FIXME: Padding audio to the max payload in RTP packets. - // TODO: FIXME: Why 960? Need Refactoring? - audio_timestamp += 960; continue; } diff --git a/trunk/src/app/srs_app_rtc_conn.hpp b/trunk/src/app/srs_app_rtc_conn.hpp index 583e7f8e1..fac2775b2 100644 --- a/trunk/src/app/srs_app_rtc_conn.hpp +++ b/trunk/src/app/srs_app_rtc_conn.hpp @@ -195,7 +195,6 @@ protected: private: // TODO: FIXME: How to handle timestamp overflow? // Information for audio. - uint32_t audio_timestamp; uint16_t audio_sequence; uint32_t audio_ssrc; uint16_t audio_payload_type; diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 11a57bca5..0e5675a7d 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -424,6 +424,7 @@ SrsRtcFromRtmpBridger::SrsRtcFromRtmpBridger(SrsRtcSource* source) discard_bframe = false; merge_nalus = false; meta = new SrsMetaCache(); + audio_timestamp = 0; } SrsRtcFromRtmpBridger::~SrsRtcFromRtmpBridger() @@ -592,6 +593,10 @@ srs_error_t SrsRtcFromRtmpBridger::package_opus(char* data, int size, SrsRtpPack SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeAudio; pkt->header.set_marker(true); + pkt->header.set_timestamp(audio_timestamp); + + // TODO: FIXME: Why 960? Need Refactoring? + audio_timestamp += 960; SrsRtpRawPayload* raw = new SrsRtpRawPayload(); pkt->payload = raw; diff --git a/trunk/src/app/srs_app_rtc_source.hpp b/trunk/src/app/srs_app_rtc_source.hpp index b93a8676f..e21f6c828 100644 --- a/trunk/src/app/srs_app_rtc_source.hpp +++ b/trunk/src/app/srs_app_rtc_source.hpp @@ -173,6 +173,7 @@ private: SrsAudioRecode* codec; bool discard_bframe; bool merge_nalus; + uint32_t audio_timestamp; public: SrsRtcFromRtmpBridger(SrsRtcSource* source); virtual ~SrsRtcFromRtmpBridger();