mpegts: propagate avio EOF in read_packet()
authorJindrich Makovicka <jindrich.makovicka@nangu.tv>
Thu, 31 Mar 2011 14:58:50 +0000 (16:58 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 31 Mar 2011 17:46:28 +0000 (19:46 +0200)
Allows distinguishing between EOF and IO error in read_packet return code.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavformat/mpegts.c

index abdb000..62e9dcb 100644 (file)
@@ -1350,7 +1350,7 @@ static int read_packet(AVFormatContext *s, uint8_t *buf, int raw_packet_size)
     for(;;) {
         len = avio_read(pb, buf, TS_PACKET_SIZE);
         if (len != TS_PACKET_SIZE)
-            return AVERROR(EIO);
+            return len < 0 ? len : AVERROR_EOF;
         /* check paquet sync byte */
         if (buf[0] != 0x47) {
             /* find a new packet start */