mirror of
				https://github.com/kunkundi/crossdesk.git
				synced 2025-10-26 20:25:34 +08:00 
			
		
		
		
	Fix rtp header marker bit error
This commit is contained in:
		| @@ -53,12 +53,12 @@ void RtpCodec::Encode(uint8_t* buffer, size_t size, | ||||
|           std::chrono::high_resolution_clock::now().time_since_epoch().count(); | ||||
|  | ||||
|       for (size_t index = 0; index < num_of_total_packets; index++) { | ||||
|         if (index < num_of_source_packets) { | ||||
|         RtpPacket rtp_packet; | ||||
|         if (index < num_of_source_packets) { | ||||
|           rtp_packet.SetVerion(version_); | ||||
|           rtp_packet.SetHasPadding(has_padding_); | ||||
|           rtp_packet.SetHasExtension(has_extension_); | ||||
|           rtp_packet.SetMarker(index == num_of_source_packets ? 1 : 0); | ||||
|           rtp_packet.SetMarker(index == num_of_source_packets - 1 ? 1 : 0); | ||||
|           rtp_packet.SetPayloadType(RtpPacket::PAYLOAD_TYPE::H264); | ||||
|           rtp_packet.SetSequenceNumber(sequence_number_++); | ||||
|           rtp_packet.SetTimestamp(timestamp_); | ||||
| @@ -96,14 +96,13 @@ void RtpCodec::Encode(uint8_t* buffer, size_t size, | ||||
|           } else { | ||||
|             rtp_packet.EncodeH264Fua(fec_packets[index], MAX_NALU_LEN); | ||||
|           } | ||||
|           packets.emplace_back(rtp_packet); | ||||
|  | ||||
|         } else if (index >= num_of_source_packets && | ||||
|                    index < num_of_total_packets) { | ||||
|           RtpPacket rtp_packet; | ||||
|           rtp_packet.SetVerion(version_); | ||||
|           rtp_packet.SetHasPadding(has_padding_); | ||||
|           rtp_packet.SetHasExtension(has_extension_); | ||||
|           rtp_packet.SetMarker(index == num_of_total_packets ? 1 : 0); | ||||
|           rtp_packet.SetMarker(index == num_of_total_packets - 1 ? 1 : 0); | ||||
|           rtp_packet.SetPayloadType(RtpPacket::PAYLOAD_TYPE::H264_FEC); | ||||
|           rtp_packet.SetSequenceNumber(sequence_number_++); | ||||
|           rtp_packet.SetTimestamp(timestamp_); | ||||
| @@ -118,8 +117,8 @@ void RtpCodec::Encode(uint8_t* buffer, size_t size, | ||||
|             rtp_packet.SetExtensionData(extension_data_, extension_len_); | ||||
|           } | ||||
|           rtp_packet.EncodeH264Fec(fec_packets[index], MAX_NALU_LEN); | ||||
|           packets.emplace_back(rtp_packet); | ||||
|         } | ||||
|         packets.emplace_back(rtp_packet); | ||||
|  | ||||
|         // if (index < num_of_source_packets) { | ||||
|         //   rtp_packet.EncodeH264Fua(fec_packets[index], MAX_NALU_LEN); | ||||
| @@ -174,7 +173,7 @@ void RtpCodec::Encode(uint8_t* buffer, size_t size, | ||||
|         rtp_packet.SetVerion(version_); | ||||
|         rtp_packet.SetHasPadding(has_padding_); | ||||
|         rtp_packet.SetHasExtension(has_extension_); | ||||
|         rtp_packet.SetMarker(index == packet_num ? 1 : 0); | ||||
|         rtp_packet.SetMarker(index == packet_num - 1 ? 1 : 0); | ||||
|         rtp_packet.SetPayloadType(RtpPacket::PAYLOAD_TYPE(payload_type_)); | ||||
|         rtp_packet.SetSequenceNumber(sequence_number_++); | ||||
|         rtp_packet.SetTimestamp(timestamp_); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user