rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf

Signed-off-by: Martin Storsjö <martin@martin.st>
pull/37/head
Martin Storsjö 12 years ago
parent f542dedf72
commit 62572435d4
  1. 13
      libavformat/rtpenc_chain.c

@ -75,16 +75,19 @@ int ff_rtp_chain_mux_open(AVFormatContext **out, AVFormatContext *s,
avcodec_copy_context(rtpctx->streams[0]->codec, st->codec); avcodec_copy_context(rtpctx->streams[0]->codec, st->codec);
if (handle) { if (handle) {
ffio_fdopen(&rtpctx->pb, handle); ret = ffio_fdopen(&rtpctx->pb, handle);
if (ret < 0)
ffurl_close(handle);
} else } else
ffio_open_dyn_packet_buf(&rtpctx->pb, packet_size); ret = ffio_open_dyn_packet_buf(&rtpctx->pb, packet_size);
ret = avformat_write_header(rtpctx, &opts); if (!ret)
ret = avformat_write_header(rtpctx, &opts);
av_dict_free(&opts); av_dict_free(&opts);
if (ret) { if (ret) {
if (handle) { if (handle && rtpctx->pb) {
avio_close(rtpctx->pb); avio_close(rtpctx->pb);
} else { } else if (rtpctx->pb) {
uint8_t *ptr; uint8_t *ptr;
avio_close_dyn_buf(rtpctx->pb, &ptr); avio_close_dyn_buf(rtpctx->pb, &ptr);
av_free(ptr); av_free(ptr);

Loading…
Cancel
Save