Fix uninitialized value warning in rtp_payload_registry and make sure we return an error if the payload type isn't registered.

R=pbos@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1782004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4321 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc b/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc
index db56d78..95e6bdc 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc
@@ -103,6 +103,7 @@
   if (ModuleRTPUtility::StringCompare(payload_name, "red", 3)) {
     red_payload_type_ = payload_type;
     payload = new ModuleRTPUtility::Payload;
+    memset(payload, 0, sizeof(*payload));
     payload->audio = false;
     payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
     strncpy(payload->name, payload_name, RTP_PAYLOAD_NAME_SIZE - 1);
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
index fdd2f6c..6572f69 100644
--- a/webrtc/voice_engine/channel.cc
+++ b/webrtc/voice_engine/channel.cc
@@ -2184,6 +2184,9 @@
   }
   header.payload_type_frequency =
       rtp_payload_registry_->GetPayloadTypeFrequency(header.payloadType);
+  if (header.payload_type_frequency < 0) {
+    return -1;
+  }
   bool retransmitted = IsPacketRetransmitted(header);
   bool in_order = rtp_receiver_->InOrderPacket(header.sequenceNumber);
   rtp_receive_statistics_->IncomingPacket(header, static_cast<uint16_t>(length),