diff --git a/libavformat/tta.c b/libavformat/tta.c
index f6b8a88f82..7db1a90a1b 100644
--- a/libavformat/tta.c
+++ b/libavformat/tta.c
@@ -64,7 +64,7 @@ static int tta_read_header(AVFormatContext *s)
     start_offset = avio_tell(s->pb);
     ffio_init_checksum(s->pb, tta_check_crc, UINT32_MAX);
     if (avio_rl32(s->pb) != AV_RL32("TTA1"))
-        return -1; // not tta file
+        return AVERROR_INVALIDDATA;
 
     avio_skip(s->pb, 2); // FIXME: flags
     channels = avio_rl16(s->pb);
@@ -72,7 +72,7 @@ static int tta_read_header(AVFormatContext *s)
     samplerate = avio_rl32(s->pb);
     if(samplerate <= 0 || samplerate > 1000000){
         av_log(s, AV_LOG_ERROR, "nonsense samplerate\n");
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     datalen = avio_rl32(s->pb);
@@ -96,7 +96,7 @@ static int tta_read_header(AVFormatContext *s)
 
     if(c->totalframes >= UINT_MAX/sizeof(uint32_t) || c->totalframes <= 0){
         av_log(s, AV_LOG_ERROR, "totalframes %d invalid\n", c->totalframes);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
 
     st = avformat_new_stream(s, NULL);