Ship GenericDescriptor00 by default.

The change ships GenericDescriptor00 and authentication by default,
but doesn't expose it by default, and makes WebRTC respond to
offers carrying it.

The change adds a unit test for the new semantics.

Tests well in munge-sdp. Frame marking replaced by
http://www.webrtc.org/experiments/rtp-hdrext/generic-frame-descriptor-00
in the offer results in an answer containing the
extension as first entry.

Bug: webrtc:11367
Change-Id: I0ef91b7d4096d949c3d547ece7d6c4d39aa241da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168661
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30542}
diff --git a/call/rtp_payload_params_unittest.cc b/call/rtp_payload_params_unittest.cc
index b8fd4a5..54b4025 100644
--- a/call/rtp_payload_params_unittest.cc
+++ b/call/rtp_payload_params_unittest.cc
@@ -160,7 +160,7 @@
   h264info->temporal_idx = kNoTemporalIdx;
 
   RTPVideoHeader header =
-      params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
+      params.GetRtpVideoHeader(encoded_image, &codec_info, 10);
 
   EXPECT_EQ(0, header.simulcastIdx);
   EXPECT_EQ(kVideoCodecH264, header.codec);
@@ -172,7 +172,7 @@
   h264info->base_layer_sync = true;
   h264info->idr_frame = false;
 
-  header = params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
+  header = params.GetRtpVideoHeader(encoded_image, &codec_info, 20);
 
   EXPECT_EQ(kVideoCodecH264, header.codec);
   EXPECT_EQ(header.frame_marking.tl0_pic_idx, kInitialTl0PicIdx1);
@@ -185,7 +185,7 @@
   h264info->base_layer_sync = false;
   h264info->idr_frame = true;
 
-  header = params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
+  header = params.GetRtpVideoHeader(encoded_image, &codec_info, 30);
 
   EXPECT_EQ(kVideoCodecH264, header.codec);
   EXPECT_EQ(header.frame_marking.tl0_pic_idx, kInitialTl0PicIdx1 + 1);
@@ -327,10 +327,11 @@
   EncodedImage encoded_image;
   CodecSpecificInfo codec_info;
   codec_info.codecType = kVideoCodecGeneric;
+  encoded_image._frameType = VideoFrameType::kVideoFrameKey;
 
   RtpPayloadParams params(kSsrc1, &state);
   RTPVideoHeader header =
-      params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
+      params.GetRtpVideoHeader(encoded_image, &codec_info, 10);
 
   EXPECT_EQ(kVideoCodecGeneric, header.codec);
   const auto* generic =
@@ -338,7 +339,8 @@
   ASSERT_TRUE(generic);
   EXPECT_EQ(0, generic->picture_id);
 
-  header = params.GetRtpVideoHeader(encoded_image, &codec_info, kDontCare);
+  encoded_image._frameType = VideoFrameType::kVideoFrameDelta;
+  header = params.GetRtpVideoHeader(encoded_image, &codec_info, 20);
   generic =
       absl::get_if<RTPVideoHeaderLegacyGeneric>(&header.video_type_header);
   ASSERT_TRUE(generic);