Delete VCMPacket constructor with WebRtcRTPHeader

Bug: webrtc:10397
Change-Id: I8f51616d6953af6b2d3bdfdf46b748b2a78702ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127240
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27079}
diff --git a/modules/video_coding/jitter_buffer_unittest.cc b/modules/video_coding/jitter_buffer_unittest.cc
index 2863efb..68a4b84 100644
--- a/modules/video_coding/jitter_buffer_unittest.cc
+++ b/modules/video_coding/jitter_buffer_unittest.cc
@@ -240,15 +240,15 @@
         i += 3;
       }
     }
-    WebRtcRTPHeader rtpHeader;
-    memset(&rtpHeader, 0, sizeof(rtpHeader));
-    rtpHeader.header.sequenceNumber = seq_num_;
-    rtpHeader.header.timestamp = timestamp_;
-    rtpHeader.header.markerBit = true;
-    rtpHeader.frameType = kVideoFrameDelta;
-    rtpHeader.video_header().codec = kVideoCodecGeneric;
-    rtpHeader.video_header().is_first_packet_in_frame = true;
-    packet_.reset(new VCMPacket(data_, size_, rtpHeader));
+    RTPHeader rtp_header;
+    RTPVideoHeader video_header;
+    rtp_header.sequenceNumber = seq_num_;
+    rtp_header.timestamp = timestamp_;
+    rtp_header.markerBit = true;
+    video_header.codec = kVideoCodecGeneric;
+    video_header.is_first_packet_in_frame = true;
+    packet_.reset(new VCMPacket(data_, size_, rtp_header, video_header,
+                                kVideoFrameDelta, /*ntp_time_ms=*/0));
   }
 
   VCMEncodedFrame* DecodeCompleteFrame() {
@@ -763,13 +763,14 @@
 
   // Add in the padding. These are empty packets (data length is 0) with no
   // marker bit and matching the timestamp of Frame B.
-  WebRtcRTPHeader rtpHeader;
-  memset(&rtpHeader, 0, sizeof(rtpHeader));
-  rtpHeader.header.sequenceNumber = seq_num_ + 2;
-  rtpHeader.header.timestamp = timestamp_ + (33 * 90);
-  rtpHeader.header.markerBit = false;
-  rtpHeader.video_header().codec = kVideoCodecGeneric;
-  VCMPacket empty_packet(data_, 0, rtpHeader);
+  RTPHeader rtp_header;
+  RTPVideoHeader video_header;
+  rtp_header.sequenceNumber = seq_num_ + 2;
+  rtp_header.timestamp = timestamp_ + (33 * 90);
+  rtp_header.markerBit = false;
+  video_header.codec = kVideoCodecGeneric;
+  VCMPacket empty_packet(data_, 0, rtp_header, video_header,
+                         VideoFrameType::kEmptyFrame, /*ntp_time_ms=*/0);
   EXPECT_EQ(kOldPacket,
             jitter_buffer_->InsertPacket(empty_packet, &retransmitted));
   empty_packet.seqNum += 1;
diff --git a/modules/video_coding/packet.cc b/modules/video_coding/packet.cc
index 1113a6d..5b826e8 100644
--- a/modules/video_coding/packet.cc
+++ b/modules/video_coding/packet.cc
@@ -11,7 +11,6 @@
 #include "modules/video_coding/packet.h"
 
 #include "api/rtp_headers.h"
-#include "modules/include/module_common_types.h"
 
 namespace webrtc {
 
@@ -33,16 +32,6 @@
 }
 
 VCMPacket::VCMPacket(const uint8_t* ptr,
-                     const size_t size,
-                     const WebRtcRTPHeader& rtpHeader)
-    : 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,
diff --git a/modules/video_coding/packet.h b/modules/video_coding/packet.h
index 835bfdf..cd4b330 100644
--- a/modules/video_coding/packet.h
+++ b/modules/video_coding/packet.h
@@ -15,19 +15,26 @@
 #include <stdint.h>
 
 #include "absl/types/optional.h"
+#include "api/rtp_headers.h"
 #include "common_types.h"  // NOLINT(build/include)
-#include "modules/include/module_common_types.h"
 #include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
 #include "modules/rtp_rtcp/source/rtp_video_header.h"
 
 namespace webrtc {
 
+// Used to indicate if a received packet contain a complete NALU (or equivalent)
+enum VCMNaluCompleteness {
+  kNaluUnset = 0,     // Packet has not been filled.
+  kNaluComplete = 1,  // Packet can be decoded as is.
+  kNaluStart,         // Packet contain beginning of NALU
+  kNaluIncomplete,    // Packet is not beginning or end of NALU
+  kNaluEnd,           // Packet is the end of a NALU
+};
+
 class VCMPacket {
  public:
   VCMPacket();
 
-  VCMPacket(const uint8_t* ptr, size_t size, const WebRtcRTPHeader& rtpHeader);
-
   VCMPacket(const uint8_t* ptr,
             size_t size,
             const RTPHeader& rtp_header,
diff --git a/modules/video_coding/video_receiver.cc b/modules/video_coding/video_receiver.cc
index 20eff5e..e2bac95 100644
--- a/modules/video_coding/video_receiver.cc
+++ b/modules/video_coding/video_receiver.cc
@@ -394,7 +394,9 @@
     // TODO(holmer): We should fix this in the jitter buffer.
     payloadLength = 0;
   }
-  const VCMPacket packet(incomingPayload, payloadLength, rtpInfo);
+  const VCMPacket packet(incomingPayload, payloadLength, rtpInfo.header,
+                         rtpInfo.video_header(), rtpInfo.frameType,
+                         rtpInfo.ntp_time_ms);
   int32_t ret = _receiver.InsertPacket(packet);
 
   // TODO(holmer): Investigate if this somehow should use the key frame