2
0
Takeru Ohta 1 жил өмнө
parent
commit
c5c80b8760

+ 7 - 2
src/h264rtpdepacketizer.cpp

@@ -42,10 +42,15 @@ message_vector H264RtpDepacketizer::buildFrames(message_vector::iterator begin,
 		auto pktParsed = reinterpret_cast<const rtc::RtpHeader *>(pkt->data());
 		auto pktParsed = reinterpret_cast<const rtc::RtpHeader *>(pkt->data());
 		auto headerSize =
 		auto headerSize =
 		    sizeof(rtc::RtpHeader) + pktParsed->csrcCount() + pktParsed->getExtensionHeaderSize();
 		    sizeof(rtc::RtpHeader) + pktParsed->csrcCount() + pktParsed->getExtensionHeaderSize();
+		auto paddingSize = 0;
 
 
-		if (pkt->size() == headerSize) {
+		if (pktParsed->padding()) {
+			paddingSize = std::to_integer<uint8_t>(pkt->at(pkt->size() - 1));
+		}
+
+		if (pkt->size() == headerSize + paddingSize) {
 			PLOG_VERBOSE << "H.264 RTP packet has empty payload";
 			PLOG_VERBOSE << "H.264 RTP packet has empty payload";
-                	continue;
+			continue;
 		}
 		}
 
 
 		auto nalUnitHeader = NalUnitHeader{std::to_integer<uint8_t>(pkt->at(headerSize))};
 		auto nalUnitHeader = NalUnitHeader{std::to_integer<uint8_t>(pkt->at(headerSize))};