[FFmpeg-cvslog] asfdec: do not align Data Object when Broadcast Flag is set

Alexandra Hájková git at videolan.org
Tue Jul 28 00:21:16 CEST 2015


ffmpeg | branch: master | Alexandra Hájková <alexandra.khirnova at gmail.com> | Thu Jul 23 12:33:37 2015 +0200| [b5c1c16247ab7d166c84eaf4564e49a1535fdaaf] | committer: Anton Khirnov

asfdec: do not align Data Object when Broadcast Flag is set

its size is invalid in this case

Signed-off-by: Anton Khirnov <anton at khirnov.net>

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

 libavformat/asfdec.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 9c746af..37d91e0 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -928,7 +928,7 @@ static int asf_read_data(AVFormatContext *s, const GUIDParseTable *g)
                size, asf->nb_packets);
     avio_skip(pb, 2); // skip reserved field
     asf->first_packet_offset = avio_tell(pb);
-    if (pb->seekable)
+    if (pb->seekable && !(asf->b_flags & ASF_FLAG_BROADCAST))
         align_position(pb, asf->offset, asf->data_size);
 
     return 0;
@@ -1676,7 +1676,7 @@ static int asf_read_header(AVFormatContext *s)
             size = avio_rl64(pb);
             align_position(pb, asf->offset, size);
         }
-        if (asf->data_reached && !pb->seekable)
+        if (asf->data_reached && (!pb->seekable || (asf->b_flags & ASF_FLAG_BROADCAST)))
             break;
     }
 



More information about the ffmpeg-cvslog mailing list