From 462a5b783981984421fb71b54d927ac4e6bab524 Mon Sep 17 00:00:00 2001 From: Yusuke Nakamura Date: Sat, 21 Jan 2012 03:56:05 +0900 Subject: [PATCH 1/2] isom: Support more DTS codec identifiers. DTS LBR identifier ('dtse') is not included since libavcodec doesn't support it yet. Signed-off-by: Derek Buitenhuis --- libavformat/isom.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/isom.c b/libavformat/isom.c index 77cfa8ff02..3125bf2132 100644 --- a/libavformat/isom.c +++ b/libavformat/isom.c @@ -236,7 +236,9 @@ const AVCodecTag ff_codec_movaudio_tags[] = { { CODEC_ID_ALAC, MKTAG('a', 'l', 'a', 'c') }, { CODEC_ID_AMR_NB, MKTAG('s', 'a', 'm', 'r') }, /* AMR-NB 3gp */ { CODEC_ID_AMR_WB, MKTAG('s', 'a', 'w', 'b') }, /* AMR-WB 3gp */ - { CODEC_ID_DTS, MKTAG('d', 't', 's', 'c') }, /* mp4ra.org */ + { CODEC_ID_DTS, MKTAG('d', 't', 's', 'c') }, /* DTS formats prior to DTS-HD */ + { CODEC_ID_DTS, MKTAG('d', 't', 's', 'h') }, /* DTS-HD audio formats */ + { CODEC_ID_DTS, MKTAG('d', 't', 's', 'l') }, /* DTS-HD Lossless formats */ { CODEC_ID_DTS, MKTAG('D', 'T', 'S', ' ') }, /* non-standard */ { CODEC_ID_DVAUDIO, MKTAG('v', 'd', 'v', 'a') }, { CODEC_ID_DVAUDIO, MKTAG('d', 'v', 'c', 'a') }, From 8c4022aceb68558df655059cef4d570625dc1d09 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 21 Apr 2012 07:03:06 +0200 Subject: [PATCH 2/2] avconv: fix a segfault on -c copy with -filter_complex. --- avconv.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/avconv.c b/avconv.c index e441fff855..6c3a01f6b6 100644 --- a/avconv.c +++ b/avconv.c @@ -2612,7 +2612,11 @@ static int transcode_init(void) } if (ost->stream_copy) { - uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; + uint64_t extra_size; + + av_assert0(ist && !ost->filter); + + extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; if (extra_size > INT_MAX) { return AVERROR(EINVAL); @@ -4194,6 +4198,13 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o, ofilter->ost = ost; + if (ost->stream_copy) { + av_log(NULL, AV_LOG_ERROR, "Streamcopy requested for output stream %d:%d, " + "which is fed from a complex filtergraph. Filtering and streamcopy " + "cannot be used together.\n", ost->file_index, ost->index); + exit_program(1); + } + if (configure_output_filter(ofilter->graph, ofilter, ofilter->out_tmp) < 0) { av_log(NULL, AV_LOG_FATAL, "Error configuring filter.\n"); exit_program(1);