VCM/JB: Using last decoded state for waiting for key

relanding 1323006

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3902 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/video_coding/main/source/decoding_state.cc b/webrtc/modules/video_coding/main/source/decoding_state.cc
index 8147897..eb03705 100644
--- a/webrtc/modules/video_coding/main/source/decoding_state.cc
+++ b/webrtc/modules/video_coding/main/source/decoding_state.cc
@@ -149,8 +149,11 @@
   // Return true when in initial state.
   // Note that when a method is not applicable it will return false.
   assert(frame != NULL);
-  if (in_initial_state_)
-    return true;
+  if (in_initial_state_) {
+    // Always start with a key frame.
+    if (frame->FrameType() == kVideoFrameKey) return true;
+    return false;
+  }
 
   if (!ContinuousLayer(frame->TemporalId(), frame->Tl0PicId())) {
     // Base layers are not continuous or temporal layers are inactive.