Browse Source

Merge commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87'

* commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87':
  segment: Use the public av_write_header/av_write_trailer functions

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Michael Niedermayer 13 years ago
parent
commit
1bd22229d7
1 changed files with 3 additions and 28 deletions
  1. +3
    -28
      libavformat/segment.c

+ 3
- 28
libavformat/segment.c View File

@@ -110,31 +110,10 @@ static int segment_start(AVFormatContext *s)
&s->interrupt_callback, NULL)) < 0)
return err;

if (!oc->priv_data && oc->oformat->priv_data_size > 0) {
oc->priv_data = av_mallocz(oc->oformat->priv_data_size);
if (!oc->priv_data) {
avio_close(oc->pb);
return AVERROR(ENOMEM);
}
if (oc->oformat->priv_class) {
*(const AVClass**)oc->priv_data = oc->oformat->priv_class;
av_opt_set_defaults(oc->priv_data);
}
}

if ((err = oc->oformat->write_header(oc)) < 0) {
goto fail;
}
if ((err = avformat_write_header(oc, NULL)) < 0)
return err;

return 0;

fail:
av_log(oc, AV_LOG_ERROR, "Failure occurred when starting segment '%s'\n",
oc->filename);
avio_close(oc->pb);
av_freep(&oc->priv_data);

return err;
}

static int segment_list_open(AVFormatContext *s)
@@ -183,8 +162,7 @@ static int segment_end(AVFormatContext *s)
AVFormatContext *oc = seg->avf;
int ret = 0;

if (oc->oformat->write_trailer)
ret = oc->oformat->write_trailer(oc);
ret = av_write_trailer(oc);

if (ret < 0)
av_log(s, AV_LOG_ERROR, "Failure occurred when ending segment '%s'\n",
@@ -212,9 +190,6 @@ static int segment_end(AVFormatContext *s)

end:
avio_close(oc->pb);
if (oc->oformat->priv_class)
av_opt_free(oc->priv_data);
av_freep(&oc->priv_data);

return ret;
}


Loading…
Cancel
Save