diff --git a/trunk/src/app/srs_app_rtc_queue.cpp b/trunk/src/app/srs_app_rtc_queue.cpp index c638b5129..ff820ab8b 100644 --- a/trunk/src/app/srs_app_rtc_queue.cpp +++ b/trunk/src/app/srs_app_rtc_queue.cpp @@ -291,4 +291,5 @@ void SrsRtpNackForReceiver::remove_timeout_packets(void) rtp_->notify_nack_list_full(); queue_.clear(); } -} \ No newline at end of file +} + diff --git a/trunk/src/app/srs_app_rtc_queue.hpp b/trunk/src/app/srs_app_rtc_queue.hpp index 3b04d17d7..be945dd25 100644 --- a/trunk/src/app/srs_app_rtc_queue.hpp +++ b/trunk/src/app/srs_app_rtc_queue.hpp @@ -40,10 +40,9 @@ class SrsRtpRingBuffer; // [seq1(done)|seq2|seq3 ... seq10|seq11(lost)|seq12|seq13] // \___(head_sequence_) \ \___(highest_sequence_) // \___(no received, in nack list) -// * seq1: The packet is done, we already got the entire frame and processed it. -// * seq2,seq3,...,seq10,seq12,seq13: We are processing theses packets, for example, some FU-A or NALUs, -// but not an entire video frame right now. -// * seq10: This packet is lost or not received, we put it in the nack list. +// * seq1: The packet is done, we have already got and processed it. +// * seq2,seq3,...,seq10,seq12,seq13: Theses packets are in queue and wait to be processed. +// * seq10: This packet is lost or not received, we will put it in the nack list. // We store the received packets in ring buffer. class SrsRtpRingBuffer { @@ -84,7 +83,7 @@ public: // Get the packet by seq. SrsRtpPacket2* at(uint16_t seq); public: - // TODO: FIXME: Move it? + // TODO: FIXME: Refine it? void notify_nack_list_full(); void notify_drop_seq(uint16_t seq); }; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp index 25ceb13f9..975fbbbe2 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp @@ -67,7 +67,6 @@ protected: SrsRtcpHeader header_; uint8_t payload_[kRtcpPacketSize]; int payload_len_; - protected: srs_error_t decode_header(SrsBuffer *buffer); srs_error_t encode_header(SrsBuffer *buffer); @@ -75,9 +74,8 @@ public: SrsRtcpCommon(); virtual ~SrsRtcpCommon(); virtual const uint8_t type() const; - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); @@ -85,6 +83,7 @@ public: class SrsRtcpApp : public SrsRtcpCommon { +private: SrsRtcpHeader header_; uint32_t ssrc_; uint8_t name_[4]; @@ -105,8 +104,8 @@ public: srs_error_t set_subtype(uint8_t type); srs_error_t set_name(std::string name); srs_error_t set_payload(uint8_t* payload, int len); +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); @@ -149,9 +148,8 @@ public: void set_rtp_ts(uint32_t ts); void set_rtp_send_packets(uint32_t packets); void set_rtp_send_bytes(uint32_t bytes); - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); @@ -185,9 +183,8 @@ public: void set_lsr(uint32_t lsr); void set_dlsr(uint32_t dlsr); void set_sender_ntp(uint64_t ntp); - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); @@ -258,7 +255,6 @@ private: }; int pkt_len; - private: void clear(); srs_utime_t calculate_delta_us(srs_utime_t ts, srs_utime_t last); @@ -271,7 +267,6 @@ private: srs_error_t encode_chunk_two_bit(SrsRtcpTWCCChunk& chunk, size_t size, bool shift); void reset_chunk(SrsRtcpTWCCChunk& chunk); srs_error_t encode_remaining_chunk(SrsRtcpTWCCChunk& chunk); - public: SrsRtcpTWCC(uint32_t sender_ssrc = 0); virtual ~SrsRtcpTWCC(); @@ -293,9 +288,8 @@ public: void add_recv_delta(uint16_t delta); srs_error_t recv_packet(uint16_t sn, srs_utime_t ts); - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); @@ -323,15 +317,13 @@ public: void set_media_ssrc(uint32_t ssrc); void add_lost_sn(uint16_t sn); - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); }; - class SrsRtcpCompound : public ISrsCodec { private: @@ -344,12 +336,12 @@ public: SrsRtcpCommon* get_next_rtcp(); srs_error_t add_rtcp(SrsRtcpCommon *rtcp); void clear(); - +// interface ISrsCodec public: - // ISrsCodec virtual srs_error_t decode(SrsBuffer *buffer); virtual int nb_bytes(); virtual srs_error_t encode(SrsBuffer *buffer); }; #endif + diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index 15f943fa8..ce1bf5723 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -38,12 +38,10 @@ bool srs_seq_is_newer(uint16_t value, uint16_t pre_value) { return srs_rtp_seq_distance(pre_value, value) > 0; } -bool srs_seq_is_roolback(uint16_t value, uint16_t pre_value) +bool srs_seq_is_rollback(uint16_t value, uint16_t pre_value) { if(srs_seq_is_newer(value, pre_value)) { - if((pre_value > value)) { - return true; - } + return pre_value > value; } return false; } diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp index ea60fc640..27fe77627 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp @@ -79,7 +79,7 @@ struct SrsSeqCompareLess { }; bool srs_seq_is_newer(uint16_t value, uint16_t pre_value); -bool srs_seq_is_roolback(uint16_t value, uint16_t pre_value); +bool srs_seq_is_rollback(uint16_t value, uint16_t pre_value); int32_t srs_seq_distance(uint16_t value, uint16_t pre_value); class SrsRtpHeader diff --git a/trunk/src/utest/srs_utest_rtc.cpp b/trunk/src/utest/srs_utest_rtc.cpp index dceccec1e..270753c44 100644 --- a/trunk/src/utest/srs_utest_rtc.cpp +++ b/trunk/src/utest/srs_utest_rtc.cpp @@ -103,23 +103,23 @@ VOID TEST(KernelRTCTest, SequenceCompare) } if (true) { - EXPECT_FALSE(srs_seq_is_roolback(1, 1)); - EXPECT_FALSE(srs_seq_is_roolback(65535, 65534)); - EXPECT_FALSE(srs_seq_is_roolback(1, 0)); - EXPECT_FALSE(srs_seq_is_roolback(256, 255)); + EXPECT_FALSE(srs_seq_is_rollback(1, 1)); + EXPECT_FALSE(srs_seq_is_rollback(65535, 65534)); + EXPECT_FALSE(srs_seq_is_rollback(1, 0)); + EXPECT_FALSE(srs_seq_is_rollback(256, 255)); - EXPECT_TRUE(srs_seq_is_roolback(0, 65535)); - EXPECT_TRUE(srs_seq_is_roolback(0, 65280)); - EXPECT_TRUE(srs_seq_is_roolback(255, 65535)); - EXPECT_TRUE(srs_seq_is_roolback(255, 65280)); + EXPECT_TRUE(srs_seq_is_rollback(0, 65535)); + EXPECT_TRUE(srs_seq_is_rollback(0, 65280)); + EXPECT_TRUE(srs_seq_is_rollback(255, 65535)); + EXPECT_TRUE(srs_seq_is_rollback(255, 65280)); - EXPECT_FALSE(srs_seq_is_roolback(65535, 0)); - EXPECT_FALSE(srs_seq_is_roolback(65280, 0)); - EXPECT_FALSE(srs_seq_is_roolback(65535, 255)); - EXPECT_FALSE(srs_seq_is_roolback(65280, 255)); + EXPECT_FALSE(srs_seq_is_rollback(65535, 0)); + EXPECT_FALSE(srs_seq_is_rollback(65280, 0)); + EXPECT_FALSE(srs_seq_is_rollback(65535, 255)); + EXPECT_FALSE(srs_seq_is_rollback(65280, 255)); - EXPECT_FALSE(srs_seq_is_roolback(32768, 0)); - EXPECT_FALSE(srs_seq_is_roolback(0, 32768)); + EXPECT_FALSE(srs_seq_is_rollback(32768, 0)); + EXPECT_FALSE(srs_seq_is_rollback(0, 32768)); } }