summaryrefslogtreecommitdiff
path: root/libavformat/mux.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/mux.c')
-rw-r--r--libavformat/mux.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavformat/mux.c b/libavformat/mux.c
index 7959edf72c..4bba970c92 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -352,8 +352,12 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
}
ret = s->oformat->write_packet(s, pkt);
- if (s->pb && ret >= 0 && s->flags & AVFMT_FLAG_FLUSH_PACKETS)
- avio_flush(s->pb);
+ if (s->pb && ret >= 0) {
+ if (s->flags & AVFMT_FLAG_FLUSH_PACKETS)
+ avio_flush(s->pb);
+ if (s->pb->error < 0)
+ ret = s->pb->error;
+ }
return ret;
}