[FFmpeg-cvslog] avformat/vobsub: raise packet even if apparently incomplete.

Clément Bœsch git at videolan.org
Fri Oct 4 09:37:16 CEST 2013


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Fri Oct  4 09:25:08 2013 +0000| [d4dc673455164c5c15092abd163ec808be24f694] | committer: Clément Bœsch

avformat/vobsub: raise packet even if apparently incomplete.

This restore the latest packet which was dropped from the FATE test in
dbfe61100.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d4dc673455164c5c15092abd163ec808be24f694
---

 libavformat/mpeg.c       |    5 ++++-
 tests/ref/fate/sub2video |    1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index f59cc58..64c5a4f 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -849,8 +849,11 @@ static int vobsub_read_packet(AVFormatContext *s, AVPacket *pkt)
         int pkt_size;
 
         ret = mpegps_read_pes_header(vobsub->sub_ctx, NULL, &startcode, &pts, &dts);
-        if (ret < 0)
+        if (ret < 0) {
+            if (pkt->size) // raise packet even if incomplete
+                break;
             FAIL(ret);
+        }
         to_read = ret & 0xffff;
         new_pos = avio_tell(pb);
         pkt_size = ret + (new_pos - old_pos);
diff --git a/tests/ref/fate/sub2video b/tests/ref/fate/sub2video
index 86044d2..761b1ce 100644
--- a/tests/ref/fate/sub2video
+++ b/tests/ref/fate/sub2video
@@ -92,3 +92,4 @@
 1,     210600,     210600,     1831,      665, 0x55580135, F=0x0
 1,     214771,     214771,     1558,     1216, 0x50d1f6c5, F=0x0
 1,     225640,     225640,     2127,     2133, 0x670c11a5, F=0x0
+1,     227834,     227834,     1262,     1264, 0xc1d9fc57, F=0x0



More information about the ffmpeg-cvslog mailing list