diff --git a/modules/video_coding/packet.cc b/modules/video_coding/packet.cc index c69746e105..b50e97576d 100644 --- a/modules/video_coding/packet.cc +++ b/modules/video_coding/packet.cc @@ -35,19 +35,32 @@ VCMPacket::VCMPacket() VCMPacket::VCMPacket(const uint8_t* ptr, const size_t size, const WebRtcRTPHeader& rtpHeader) - : payloadType(rtpHeader.header.payloadType), - timestamp(rtpHeader.header.timestamp), - ntp_time_ms_(rtpHeader.ntp_time_ms), - seqNum(rtpHeader.header.sequenceNumber), + : VCMPacket(ptr, + size, + rtpHeader.header, + rtpHeader.video_header(), + rtpHeader.frameType, + rtpHeader.ntp_time_ms) {} + +VCMPacket::VCMPacket(const uint8_t* ptr, + size_t size, + const RTPHeader& rtp_header, + const RTPVideoHeader& videoHeader, + FrameType frame_type, + int64_t ntp_time_ms) + : payloadType(rtp_header.payloadType), + timestamp(rtp_header.timestamp), + ntp_time_ms_(ntp_time_ms), + seqNum(rtp_header.sequenceNumber), dataPtr(ptr), sizeBytes(size), - markerBit(rtpHeader.header.markerBit), + markerBit(rtp_header.markerBit), timesNacked(-1), - frameType(rtpHeader.frameType), + frameType(frame_type), completeNALU(kNaluIncomplete), - insertStartCode(rtpHeader.video_header().codec == kVideoCodecH264 && - rtpHeader.video_header().is_first_packet_in_frame), - video_header(rtpHeader.video_header()) { + insertStartCode(videoHeader.codec == kVideoCodecH264 && + videoHeader.is_first_packet_in_frame), + video_header(videoHeader) { if (is_first_packet_in_frame() && markerBit) { completeNALU = kNaluComplete; } else if (is_first_packet_in_frame()) { diff --git a/modules/video_coding/packet.h b/modules/video_coding/packet.h index 586e1dc6d2..944aed53dd 100644 --- a/modules/video_coding/packet.h +++ b/modules/video_coding/packet.h @@ -25,9 +25,15 @@ namespace webrtc { class VCMPacket { public: VCMPacket(); + + VCMPacket(const uint8_t* ptr, size_t size, const WebRtcRTPHeader& rtpHeader); + VCMPacket(const uint8_t* ptr, - const size_t size, - const WebRtcRTPHeader& rtpHeader); + size_t size, + const RTPHeader& rtp_header, + const RTPVideoHeader& video_header, + FrameType frame_type, + int64_t ntp_time_ms); ~VCMPacket();