|
@@ -926,7 +926,7 @@ int av_write_trailer(AVFormatContext *s) |
|
|
for (;; ) { |
|
|
for (;; ) { |
|
|
AVPacket pkt; |
|
|
AVPacket pkt; |
|
|
ret = interleave_packet(s, &pkt, NULL, 1); |
|
|
ret = interleave_packet(s, &pkt, NULL, 1); |
|
|
if (ret < 0) //FIXME cleanup needed for ret<0 ? |
|
|
|
|
|
|
|
|
if (ret < 0) |
|
|
goto fail; |
|
|
goto fail; |
|
|
if (!ret) |
|
|
if (!ret) |
|
|
break; |
|
|
break; |
|
@@ -943,10 +943,14 @@ int av_write_trailer(AVFormatContext *s) |
|
|
goto fail; |
|
|
goto fail; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fail: |
|
|
if (s->oformat->write_trailer) |
|
|
if (s->oformat->write_trailer) |
|
|
|
|
|
if (ret >= 0) { |
|
|
ret = s->oformat->write_trailer(s); |
|
|
ret = s->oformat->write_trailer(s); |
|
|
|
|
|
} else { |
|
|
|
|
|
s->oformat->write_trailer(s); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
fail: |
|
|
|
|
|
if (s->pb) |
|
|
if (s->pb) |
|
|
avio_flush(s->pb); |
|
|
avio_flush(s->pb); |
|
|
if (ret == 0) |
|
|
if (ret == 0) |
|
|