iLBC: Handle a case of bad input data

We detect an unreasonable state (caused by a bad encoded stream)
before it can lead to problems, and handle it by resetting the
decoder.

NOPRESUBMIT=true
BUG=chromium:617124

Review-Url: https://codereview.webrtc.org/2255203002
Cr-Commit-Position: refs/heads/master@{#13888}
diff --git a/webrtc/modules/audio_coding/codecs/ilbc/decode.h b/webrtc/modules/audio_coding/codecs/ilbc/decode.h
index 0c4c2ef..f45fedd 100644
--- a/webrtc/modules/audio_coding/codecs/ilbc/decode.h
+++ b/webrtc/modules/audio_coding/codecs/ilbc/decode.h
@@ -25,13 +25,14 @@
  *  main decoder function
  *---------------------------------------------------------------*/
 
-void WebRtcIlbcfix_DecodeImpl(
-    int16_t *decblock,    /* (o) decoded signal block */
-    const uint16_t *bytes, /* (i) encoded signal bits */
-    IlbcDecoder *iLBCdec_inst, /* (i/o) the decoder state
+// Returns 0 on success, -1 on error.
+int WebRtcIlbcfix_DecodeImpl(
+    int16_t* decblock,         /* (o) decoded signal block */
+    const uint16_t* bytes,     /* (i) encoded signal bits */
+    IlbcDecoder* iLBCdec_inst, /* (i/o) the decoder state
                                            structure */
-    int16_t mode      /* (i) 0: bad packet, PLC,
-                                                                   1: normal */
-                           );
+    int16_t mode               /* (i) 0: bad packet, PLC,
+                                      1: normal */
+    ) WARN_UNUSED_RESULT;
 
 #endif