diff --git a/libavformat/amr.c b/libavformat/amr.c
index 94d737a5cfd0c7e7938d1cae0dae251088726f5a..6faad121bac9c0761fecf453e97e043ce1b1ca1e 100644
--- a/libavformat/amr.c
+++ b/libavformat/amr.c
@@ -48,7 +48,7 @@ static int amr_write_header(AVFormatContext *s)
     }
     else
     {
-        //This is an error!
+        return -1;
     }
     put_flush_packet(pb);
     return 0;
@@ -168,8 +168,6 @@ static int amr_read_packet(AVFormatContext *s,
             av_free_packet(pkt);
             return AVERROR_IO;
         }
-
-        return 0;
     }
     else if(enc->codec_id == CODEC_ID_AMR_WB)
     {
@@ -203,13 +201,12 @@ static int amr_read_packet(AVFormatContext *s,
             av_free_packet(pkt);
             return AVERROR_IO;
         }
-
-        return 0;
     }
     else
     {
-        return AVERROR_IO;
+        assert(0);
     }
+    return 0;
 }
 
 static int amr_read_close(AVFormatContext *s)