Also copy stream metadata to output stream. Signed-off-by: Peter Große <pe...@friiks.de> --- libavformat/dashenc.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index fd1a304..0c0248f 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -572,7 +572,6 @@ static int dash_init(AVFormatContext *s) { DASHContext *c = s->priv_data; int ret = 0, i; - AVOutputFormat *oformat; char *ptr; char basename[1024]; @@ -596,10 +595,6 @@ static int dash_init(AVFormatContext *s) if (ptr) *ptr = '\0'; - oformat = av_guess_format("mp4", NULL, NULL); - if (!oformat) - return AVERROR_MUXER_NOT_FOUND; - c->streams = av_mallocz(sizeof(*c->streams) * s->nb_streams); if (!c->streams) return AVERROR(ENOMEM); @@ -623,23 +618,25 @@ static int dash_init(AVFormatContext *s) return AVERROR(EINVAL); } - ctx = avformat_alloc_context(); - if (!ctx) + ret = avformat_alloc_output_context2(&ctx, NULL, "mp4", NULL); + if (ret < 0) return AVERROR(ENOMEM); os->ctx = ctx; - ctx->oformat = oformat; ctx->interrupt_callback = s->interrupt_callback; ctx->opaque = s->opaque; ctx->io_close = s->io_close; ctx->io_open = s->io_open; + av_dict_copy(&ctx->metadata, s->metadata, 0); if (!(st = avformat_new_stream(ctx, NULL))) return AVERROR(ENOMEM); avcodec_parameters_copy(st->codecpar, s->streams[i]->codecpar); st->sample_aspect_ratio = s->streams[i]->sample_aspect_ratio; st->time_base = s->streams[i]->time_base; + st->avg_frame_rate = s->streams[i]->avg_frame_rate; ctx->avoid_negative_ts = s->avoid_negative_ts; ctx->flags = s->flags; + ctx->max_delay = s->max_delay; ret = avio_open_dyn_buf(&ctx->pb); if (ret < 0) -- 2.10.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel