Remove kVideoCodecUnknown from WebRTC.

There is no difference between how we handle "generic" and "unkown" codecs,
so we don't need to represent both.

Bug: webrtc:8136
Change-Id: I42b0dbc8a0bae67cc21742303c963c8dd5bde1f6
Reviewed-on: https://webrtc-review.googlesource.com/92086
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24316}
diff --git a/modules/video_coding/decoder_database.cc b/modules/video_coding/decoder_database.cc
index 9cb7823..c113239 100644
--- a/modules/video_coding/decoder_database.cc
+++ b/modules/video_coding/decoder_database.cc
@@ -81,9 +81,6 @@
   }
   // If payload value already exists, erase old and insert new.
   DeregisterReceiveCodec(receive_codec->plType);
-  if (receive_codec->codecType == kVideoCodecUnknown) {
-    return false;
-  }
   VideoCodec* new_receive_codec = new VideoCodec(*receive_codec);
   dec_map_[receive_codec->plType] = new VCMDecoderMapItem(
       new_receive_codec, number_of_cores, require_key_frame);
diff --git a/modules/video_coding/encoded_frame.cc b/modules/video_coding/encoded_frame.cc
index 2cb7936..91ee871 100644
--- a/modules/video_coding/encoded_frame.cc
+++ b/modules/video_coding/encoded_frame.cc
@@ -17,9 +17,9 @@
       _renderTimeMs(-1),
       _payloadType(0),
       _missingFrame(false),
-      _codec(kVideoCodecUnknown),
+      _codec(kVideoCodecGeneric),
       _rotation_set(false) {
-  _codecSpecificInfo.codecType = kVideoCodecUnknown;
+  _codecSpecificInfo.codecType = kVideoCodecGeneric;
 }
 
 VCMEncodedFrame::~VCMEncodedFrame() {
@@ -44,8 +44,8 @@
   _completeFrame = false;
   _missingFrame = false;
   _length = 0;
-  _codecSpecificInfo.codecType = kVideoCodecUnknown;
-  _codec = kVideoCodecUnknown;
+  _codecSpecificInfo.codecType = kVideoCodecGeneric;
+  _codec = kVideoCodecGeneric;
   rotation_ = kVideoRotation_0;
   content_type_ = VideoContentType::UNSPECIFIED;
   timing_.flags = VideoSendTiming::kInvalid;
@@ -138,7 +138,7 @@
         break;
       }
       default: {
-        _codecSpecificInfo.codecType = kVideoCodecUnknown;
+        _codecSpecificInfo.codecType = kVideoCodecGeneric;
         break;
       }
     }
diff --git a/modules/video_coding/encoder_database.cc b/modules/video_coding/encoder_database.cc
index 3df0a9d..5a89590 100644
--- a/modules/video_coding/encoder_database.cc
+++ b/modules/video_coding/encoder_database.cc
@@ -44,7 +44,6 @@
   RTC_DCHECK_GE(number_of_cores, 1);
   // Make sure the start bit rate is sane...
   RTC_DCHECK_LE(send_codec->startBitrate, 1000000);
-  RTC_DCHECK(send_codec->codecType != kVideoCodecUnknown);
   bool reset_required = pending_encoder_reset_;
   if (number_of_cores_ != number_of_cores) {
     number_of_cores_ = number_of_cores;
@@ -155,15 +154,8 @@
       }
       break;
 
-    case kVideoCodecGeneric:
+    default:
       break;
-    // Known codecs without payload-specifics
-    case kVideoCodecI420:
-    case kVideoCodecMultiplex:
-      break;
-    // Unknown codec type, reset just to be sure.
-    case kVideoCodecUnknown:
-      return true;
   }
 
   for (unsigned char i = 0; i < new_send_codec.numberOfSimulcastStreams; ++i) {
diff --git a/modules/video_coding/generic_decoder.cc b/modules/video_coding/generic_decoder.cc
index 01500e7..eb16400 100644
--- a/modules/video_coding/generic_decoder.cc
+++ b/modules/video_coding/generic_decoder.cc
@@ -188,7 +188,7 @@
       _frameInfos(),
       _nextFrameInfoIdx(0),
       decoder_(decoder),
-      _codecType(kVideoCodecUnknown),
+      _codecType(kVideoCodecGeneric),
       _isExternal(isExternal),
       _last_keyframe_content_type(VideoContentType::UNSPECIFIED) {
   RTC_DCHECK(decoder_);
diff --git a/modules/video_coding/generic_encoder.cc b/modules/video_coding/generic_encoder.cc
index 7d8bb6a..5cea0a5 100644
--- a/modules/video_coding/generic_encoder.cc
+++ b/modules/video_coding/generic_encoder.cc
@@ -43,7 +43,7 @@
       internal_source_(internal_source),
       encoder_params_({VideoBitrateAllocation(), 0, 0, 0}),
       streams_or_svc_num_(0),
-      codec_type_(VideoCodecType::kVideoCodecUnknown) {}
+      codec_type_(VideoCodecType::kVideoCodecGeneric) {}
 
 VCMGenericEncoder::~VCMGenericEncoder() {}
 
diff --git a/modules/video_coding/include/video_codec_interface.h b/modules/video_coding/include/video_codec_interface.h
index e164189..9108625 100644
--- a/modules/video_coding/include/video_codec_interface.h
+++ b/modules/video_coding/include/video_codec_interface.h
@@ -83,7 +83,7 @@
 // must be fitted with a copy-constructor. This is because it is copied
 // in the copy-constructor of VCMEncodedFrame.
 struct CodecSpecificInfo {
-  CodecSpecificInfo() : codecType(kVideoCodecUnknown), codec_name(nullptr) {
+  CodecSpecificInfo() : codecType(kVideoCodecGeneric), codec_name(nullptr) {
     memset(&codecSpecific, 0, sizeof(codecSpecific));
   }
   VideoCodecType codecType;
diff --git a/modules/video_coding/packet.cc b/modules/video_coding/packet.cc
index 5ffa45b..691ec62 100644
--- a/modules/video_coding/packet.cc
+++ b/modules/video_coding/packet.cc
@@ -26,7 +26,7 @@
       markerBit(false),
       timesNacked(-1),
       frameType(kEmptyFrame),
-      codec(kVideoCodecUnknown),
+      codec(kVideoCodecGeneric),
       is_first_packet_in_frame(false),
       completeNALU(kNaluUnset),
       insertStartCode(false),
diff --git a/modules/video_coding/rtp_frame_reference_finder.cc b/modules/video_coding/rtp_frame_reference_finder.cc
index da2b1a8..217ec04 100644
--- a/modules/video_coding/rtp_frame_reference_finder.cc
+++ b/modules/video_coding/rtp_frame_reference_finder.cc
@@ -88,21 +88,9 @@
       return ManageFrameVp8(frame);
     case kVideoCodecVP9:
       return ManageFrameVp9(frame);
-    // Since the EndToEndTests use kVicdeoCodecUnknow we treat it the same as
-    // kVideoCodecGeneric.
-    // TODO(philipel): Take a look at the EndToEndTests and see if maybe they
-    //                 should be changed to use kVideoCodecGeneric instead.
-    case kVideoCodecUnknown:
-    case kVideoCodecH264:
-    case kVideoCodecI420:
-    case kVideoCodecMultiplex:
-    case kVideoCodecGeneric:
+    default:
       return ManageFrameGeneric(frame, kNoPictureId);
   }
-
-  // If not all code paths return a value it makes the win compiler sad.
-  RTC_NOTREACHED();
-  return kDrop;
 }
 
 void RtpFrameReferenceFinder::PaddingReceived(uint16_t seq_num) {
diff --git a/modules/video_coding/utility/ivf_file_writer.cc b/modules/video_coding/utility/ivf_file_writer.cc
index d9342f6..454aeb0 100644
--- a/modules/video_coding/utility/ivf_file_writer.cc
+++ b/modules/video_coding/utility/ivf_file_writer.cc
@@ -25,7 +25,7 @@
 const size_t kIvfHeaderSize = 32;
 
 IvfFileWriter::IvfFileWriter(rtc::File file, size_t byte_limit)
-    : codec_type_(kVideoCodecUnknown),
+    : codec_type_(kVideoCodecGeneric),
       bytes_written_(0),
       byte_limit_(byte_limit),
       num_frames_(0),