qrtt1 <[email protected]> added the comment:
Thanks for feedbacks.
I re-check it and find the reason why avio.c call read() after close().
because the mmst.c must set an error before jumping to fail.
I create a new patch(mmst_2.patch) without tab char. Please review again.
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2266>
________________________________________________
Index: libavformat/mmst.c
===================================================================
--- libavformat/mmst.c (revision 25348)
+++ libavformat/mmst.c (working copy)
@@ -547,8 +547,10 @@
err = mms_safe_send_recv(mmst, NULL, SC_PKT_ASF_HEADER);
if (err)
goto fail;
- if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C))
+ if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C)) {
+ err = AVERROR_NOFMT;
goto fail;
+ }
err = ff_mms_asf_header_parser(mms);
if (err) {
dprintf(NULL, "asf header parsed failed!\n");