[FFmpeg-cvslog] network: Use ff_neterrno instead of AVERROR(errno) for poll errors
ffmpeg | branch: master | Simon Thelen | Sat Apr 8 14:21:28 2017 +0200| [c194b9ad6dbe65f5abd68158c4811ed84e2a2b95] | committer: Martin Storsjö network: Use ff_neterrno instead of AVERROR(errno) for poll errors This makes sure to pick up the actual error codes on windows. Signed-off-by: Martin Storsjö > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c194b9ad6dbe65f5abd68158c4811ed84e2a2b95 --- libavformat/network.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/network.c b/libavformat/network.c index 86d79553f7..1e02668ecf 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -138,7 +138,7 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout, if (!ret) return AVERROR(ETIMEDOUT); if (ret < 0) -return AVERROR(errno); +return ff_neterrno(); return ret; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/3.3 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [28e0e494ee6499e7c37255e54453d791ff79ae54] | committer: Michael Niedermayer avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) (cherry picked from commit c1e172c2e14ef059dac632f7c67f081dfecd30dc) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=28e0e494ee6499e7c37255e54453d791ff79ae54 --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, ); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/2.8 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [03af6ab540ccf0987da27dab71cf65eb5aa6136d] | committer: Michael Niedermayer avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) (cherry picked from commit c1e172c2e14ef059dac632f7c67f081dfecd30dc) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=03af6ab540ccf0987da27dab71cf65eb5aa6136d --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 0abe6cdf48..2402718b1f 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -84,11 +84,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, ); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/3.2 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [c773ce32e1f0213117cb12534289c65954d26455] | committer: Jan Ekström avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c773ce32e1f0213117cb12534289c65954d26455 --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, ); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: release/3.4 | Simon Thelen | Tue Apr 3 14:41:33 2018 +0200| [c1e172c2e14ef059dac632f7c67f081dfecd30dc] | committer: Jan Ekström avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de (cherry picked from commit 8c2c97403baf95d0facb53f03e468f023eb943e1) > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c1e172c2e14ef059dac632f7c67f081dfecd30dc --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, ); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/imgconvert: fix possible null pointer dereference
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Tue Apr 3 14:41:33 2018 +0200| [8c2c97403baf95d0facb53f03e468f023eb943e1] | committer: Paul B Mahol avcodec/imgconvert: fix possible null pointer dereference regression since 354b26a3945eadd4ed8fcd801dfefad2566241de > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c2c97403baf95d0facb53f03e468f023eb943e1 --- libavcodec/imgconvert.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7b0005b308..1fd636c83d 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -72,11 +72,12 @@ enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *p int loss; for (i=0; pix_fmt_list[i] != AV_PIX_FMT_NONE; i++) { -loss = *loss_ptr; +loss = loss_ptr ? *loss_ptr : 0; best = avcodec_find_best_pix_fmt_of_2(best, pix_fmt_list[i], src_pix_fmt, has_alpha, ); } -*loss_ptr = loss; +if (loss_ptr) +*loss_ptr = loss; return best; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavformat/tcp: fix return code for tcp_accept
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Sat Apr 8 14:21:28 2017 +0200| [54b6bef6e13adf377c78c28ede22a4322ab28865] | committer: Michael Niedermayer libavformat/tcp: fix return code for tcp_accept ff_accept can return AVERROR(ETIMEDOUT) and errno will be 0 (or undefined), return ret instead and return ff_neterror() in ff_poll_interrupt instead of AVERROR(errno) to parse WSAGetLastError on Windows. Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=54b6bef6e13adf377c78c28ede22a4322ab28865 --- libavformat/network.c | 2 +- libavformat/tcp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/network.c b/libavformat/network.c index 2fb1c8b02a..b3987a4d11 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -159,7 +159,7 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout, if (!ret) return AVERROR(ETIMEDOUT); if (ret < 0) -return AVERROR(errno); +return ff_neterrno(); return ret; } diff --git a/libavformat/tcp.c b/libavformat/tcp.c index 3055e48015..07b4ed9fa3 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -204,7 +204,7 @@ static int tcp_accept(URLContext *s, URLContext **c) cc = (*c)->priv_data; ret = ff_accept(sc->fd, sc->listen_timeout, s); if (ret < 0) -return ff_neterrno(); +return ret; cc->fd = ret; return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffmpeg: add documentation for the disposition option
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Fri Nov 11 01:27:12 2016 +0100| [cd5da01daab7813f8215b1215cfe4cfcdc7a1ab4] | committer: Michael Niedermayer doc/ffmpeg: add documentation for the disposition option Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd5da01daab7813f8215b1215cfe4cfcdc7a1ab4 --- doc/ffmpeg.texi | 34 ++ 1 file changed, 34 insertions(+) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index fd8a0c1..4b159fd 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -357,6 +357,40 @@ To set the language of the first audio stream: ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT @end example +@item -disposition[:stream_specifier] @var{value} (@emph{output,per-stream}) +Sets the disposition for a stream. + +This option overrides the disposition copied from the input stream. It is also +possible to delete the disposition by setting it to 0. + +The following dispositions are recognized: +@table @option +@item default +@item dub +@item original +@item comment +@item lyrics +@item karaoke +@item forced +@item hearing_impaired +@item visual_impaired +@item clean_effects +@item captions +@item descriptions +@item metadata +@end table + +For example, to make the second audio stream the default stream: +@example +ffmpeg -i in.mkv -disposition:a:1 default out.mkv +@end example + +To make the second subtitle stream the default stream and remove the default +disposition from the first subtitle stream: +@example +ffmpeg -i INPUT -disposition:s:0 0 -disposition:s:1 default OUTPUT +@end example + @item -program [title=@var{title}:][program_num=@var{program_num}:]st=@var{stream}[:st=@var{stream}...] (@emph{output}) Creates a program with the specified @var{title}, @var{program_num} and adds the specified ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
Re: [FFmpeg-cvslog] Merge commit '81306fd4bdeb5c17d4db771e4fec684773b5790f'
On 16-02-16 at 17:27, Derek Buitenhuis wrote: > ffmpeg | branch: master | Derek Buitenhuis <derek.buitenh...@gmail.com> | Tue > Feb 16 16:26:49 2016 +| [d0fc5de3a643fe7f974ed14e410c2ac2f4147d7e] | > committer: Derek Buitenhuis > > Merge commit '81306fd4bdeb5c17d4db771e4fec684773b5790f' > > * commit '81306fd4bdeb5c17d4db771e4fec684773b5790f': > hls: eliminate ffurl_* usage > > Merged-by: Derek Buitenhuis <derek.buitenh...@gmail.com> > > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d0fc5de3a643fe7f974ed14e410c2ac2f4147d7e > --- At least this change in hls.c seems to be incorrect, it breaks setting the user-agent option for hls. Initially the correct user agent is used when querying the hls, but when refreshing the playlist the user agent is reset to Lavf/57.25.100. Reverting this specific hunk seems to fix the issue. I assume the other changed call to update_options in open_url is also broken, but didn't test. diff --git a/libavformat/hls.c b/libavformat/hls.c index fc1ff38..762e140 100644 (file) --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1513,7 +1486,7 @@ static int save_avio_options(AVFormatContext *s) static int hls_read_header(AVFormatContext *s) { -URLContext *u = (s->flags & AVFMT_FLAG_CUSTOM_IO) ? NULL : s->pb->opaque; +void *u = (s->flags & AVFMT_FLAG_CUSTOM_IO) ? NULL : s->pb->opaque; HLSContext *c = s->priv_data; int ret = 0, i, j, stream_offset = 0; @@ -1525,19 +1498,18 @@ static int hls_read_header(AVFormatContext *s) c->first_timestamp = AV_NOPTS_VALUE; c->cur_timestamp = AV_NOPTS_VALUE; -// if the URL context is good, read important options we must broker later -if (u && u->prot->priv_data_class) { +if (u) { // get the previous user agent & set back to null if string size is zero -update_options(>user_agent, "user-agent", u->priv_data); +update_options(>user_agent, "user-agent", u); // get the previous cookies & set back to null if string size is zero -update_options(>cookies, "cookies", u->priv_data); +update_options(>cookies, "cookies", u); // get the previous headers & set back to null if string size is zero -update_options(>headers, "headers", u->priv_data); +update_options(>headers, "headers", u); // get the previous http proxt & set back to null if string size is zero -update_options(>http_proxy, "http_proxy", u->priv_data); +update_options(>http_proxy, "http_proxy", u); } -- Simon Thelen ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: add limited_input_seek tests
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Sun Dec 6 05:00:54 2015 +0100| [6596c6fca7e8d94cca1eec21c692c8dd83aaf9cd] | committer: Michael Niedermayer fate: add limited_input_seek tests Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6596c6fca7e8d94cca1eec21c692c8dd83aaf9cd --- tests/fate/ffmpeg.mak|6 ++ tests/ref/fate/limited_input_seek|1 + tests/ref/fate/limited_input_seek-copyts |1 + 3 files changed, 8 insertions(+) diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak index 551d8e7..2061cd7 100644 --- a/tests/fate/ffmpeg.mak +++ b/tests/fate/ffmpeg.mak @@ -46,3 +46,9 @@ fate-unknown_layout-ac3: $(AREF) fate-unknown_layout-ac3: CMD = md5 \ -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \ -f ac3 -flags +bitexact -c ac3_fixed + +FATE_SAMPLES_FFMPEG-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts +fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg +fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg +fate-limited_input_seek-copyts: $(TARGET_SAMPLES)/vorbis/moog_small.ogg +fate-limited_input_seek-copyts: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -copyts -fflags +bitexact -f ogg diff --git a/tests/ref/fate/limited_input_seek b/tests/ref/fate/limited_input_seek new file mode 100644 index 000..e0c4bf1 --- /dev/null +++ b/tests/ref/fate/limited_input_seek @@ -0,0 +1 @@ +20a1bb9a1cfb23c1fe86f14e6065cd95 diff --git a/tests/ref/fate/limited_input_seek-copyts b/tests/ref/fate/limited_input_seek-copyts new file mode 100644 index 000..92790a8 --- /dev/null +++ b/tests/ref/fate/limited_input_seek-copyts @@ -0,0 +1 @@ +ec3604b1954ed80de364b8ef491771ce ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: release/2.4 | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [c6769b6d56bea1548a1c0167fdc322991bd46e50] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c6769b6d56bea1548a1c0167fdc322991bd46e50 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg: When streamcopying, only add the input seek position when copying timestamps.
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Sun Nov 22 15:03:17 2015 +0100| [5b6c0fdb4316ef71ef151e8b0f9137fe64877589] | committer: Michael Niedermayer ffmpeg: When streamcopying, only add the input seek position when copying timestamps. Using -ss as an input option shifts timestamps down by the seek, so it doesn't have to be added to the recording time when checking whether to stop. Fixes #977 Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5b6c0fdb4316ef71ef151e8b0f9137fe64877589 --- ffmpeg.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ffmpeg.c b/ffmpeg.c index 82d9a6c..a866f72 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1831,7 +1831,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p if (f->recording_time != INT64_MAX) { start_time = f->ctx->start_time; -if (f->start_time != AV_NOPTS_VALUE) +if (f->start_time != AV_NOPTS_VALUE && copy_ts) start_time += f->start_time; if (ist->pts >= f->recording_time + start_time) { close_output_stream(ost); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: release/2.5 | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [89b7e5cb2a8adff452ad2f10243d5940e6444995] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=89b7e5cb2a8adff452ad2f10243d5940e6444995 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg: Don' t try and write sdp info if none of the outputs had an rtp format.
ffmpeg | branch: release/2.6 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 16:36:16 2015 +0100| [c3467bbc5250c5b9f35a5e174dcbbdb2eac50706] | committer: Michael Niedermayer ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format. Fixes a segfault when trying to write nonexistent rtp information. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit 70fb5eadc580a82c4b977a1233d70ad0041faba0) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c3467bbc5250c5b9f35a5e174dcbbdb2eac50706 --- ffmpeg.c |4 1 file changed, 4 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index b0cf429..8fb26c2 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2337,6 +2337,9 @@ static void print_sdp(void) } } +if (!j) +goto fail; + av_sdp_create(avc, j, sdp, sizeof(sdp)); if (!sdp_filename) { @@ -2352,6 +2355,7 @@ static void print_sdp(void) } } +fail: av_freep(); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
ffmpeg | branch: release/2.6 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 15:57:50 2015 +0100| [d9bff0843f67cf271b8dd9a3b5fadd27660aeb94] | committer: Michael Niedermayer doc/ffmpeg: Clarify that the sdp_file option requires an rtp output. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b02201efb531348406e48f9252bd39a6acebd2b7) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d9bff0843f67cf271b8dd9a3b5fadd27660aeb94 --- doc/ffmpeg.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 6772f2f..e154e8b 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1175,9 +1175,9 @@ The option is intended for cases where features are needed that cannot be specified to @command{ffserver} but can be to @command{ffmpeg}. @item -sdp_file @var{file} (@emph{global}) -Print sdp information to @var{file}. +Print sdp information for an output stream to @var{file}. This allows dumping sdp information when at least one output isn't an -rtp stream. +rtp stream. (Requires at least one of the output formats to be rtp). @item -discard (@emph{input}) Allows discarding specific streams or frames of streams at the demuxer. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: release/2.6 | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [b096f160957bbb598a0fa00947b98393f3158e23] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b096f160957bbb598a0fa00947b98393f3158e23 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: release/2.7 | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [d1de4923305b326990ace91f3a56c2916cda1037] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d1de4923305b326990ace91f3a56c2916cda1037 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg: Don' t try and write sdp info if none of the outputs had an rtp format.
ffmpeg | branch: release/2.7 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 16:36:16 2015 +0100| [b9a3e0af07bc09e1c5db28bf90505e1d7a76daa6] | committer: Michael Niedermayer ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format. Fixes a segfault when trying to write nonexistent rtp information. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit 70fb5eadc580a82c4b977a1233d70ad0041faba0) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b9a3e0af07bc09e1c5db28bf90505e1d7a76daa6 --- ffmpeg.c |4 1 file changed, 4 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index 8bf0aa8..b65ee71 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2370,6 +2370,9 @@ static void print_sdp(void) } } +if (!j) +goto fail; + av_sdp_create(avc, j, sdp, sizeof(sdp)); if (!sdp_filename) { @@ -2385,6 +2388,7 @@ static void print_sdp(void) } } +fail: av_freep(); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
ffmpeg | branch: release/2.7 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 15:57:50 2015 +0100| [ae270314c7f4e9fabc9166bb5f5dfcba03304703] | committer: Michael Niedermayer doc/ffmpeg: Clarify that the sdp_file option requires an rtp output. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b02201efb531348406e48f9252bd39a6acebd2b7) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ae270314c7f4e9fabc9166bb5f5dfcba03304703 --- doc/ffmpeg.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 1078ea1..5ff8798 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1193,9 +1193,9 @@ The option is intended for cases where features are needed that cannot be specified to @command{ffserver} but can be to @command{ffmpeg}. @item -sdp_file @var{file} (@emph{global}) -Print sdp information to @var{file}. +Print sdp information for an output stream to @var{file}. This allows dumping sdp information when at least one output isn't an -rtp stream. +rtp stream. (Requires at least one of the output formats to be rtp). @item -discard (@emph{input}) Allows discarding specific streams or frames of streams at the demuxer. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg: Don' t try and write sdp info if none of the outputs had an rtp format.
ffmpeg | branch: release/2.8 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 16:36:16 2015 +0100| [dac3598563ad14704efc40f52acb1eb3b294835d] | committer: Michael Niedermayer ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format. Fixes a segfault when trying to write nonexistent rtp information. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit 70fb5eadc580a82c4b977a1233d70ad0041faba0) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dac3598563ad14704efc40f52acb1eb3b294835d --- ffmpeg.c |4 1 file changed, 4 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index 2b3085a..ce54374 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2447,6 +2447,9 @@ static void print_sdp(void) } } +if (!j) +goto fail; + av_sdp_create(avc, j, sdp, sizeof(sdp)); if (!sdp_filename) { @@ -2462,6 +2465,7 @@ static void print_sdp(void) } } +fail: av_freep(); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
ffmpeg | branch: release/2.8 | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 15:57:50 2015 +0100| [e5a2f5e74d09f7ac2233d4c2cdb0adf6745ba017] | committer: Michael Niedermayer doc/ffmpeg: Clarify that the sdp_file option requires an rtp output. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b02201efb531348406e48f9252bd39a6acebd2b7) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e5a2f5e74d09f7ac2233d4c2cdb0adf6745ba017 --- doc/ffmpeg.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index f4ffc6c..0695f15 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1205,9 +1205,9 @@ The option is intended for cases where features are needed that cannot be specified to @command{ffserver} but can be to @command{ffmpeg}. @item -sdp_file @var{file} (@emph{global}) -Print sdp information to @var{file}. +Print sdp information for an output stream to @var{file}. This allows dumping sdp information when at least one output isn't an -rtp stream. +rtp stream. (Requires at least one of the output formats to be rtp). @item -discard (@emph{input}) Allows discarding specific streams or frames of streams at the demuxer. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Mon Nov 2 15:57:50 2015 +0100| [b02201efb531348406e48f9252bd39a6acebd2b7] | committer: Michael Niedermayer doc/ffmpeg: Clarify that the sdp_file option requires an rtp output. Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b02201efb531348406e48f9252bd39a6acebd2b7 --- doc/ffmpeg.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index 08b1ed2..cf74734 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -1233,9 +1233,9 @@ The option is intended for cases where features are needed that cannot be specified to @command{ffserver} but can be to @command{ffmpeg}. @item -sdp_file @var{file} (@emph{global}) -Print sdp information to @var{file}. +Print sdp information for an output stream to @var{file}. This allows dumping sdp information when at least one output isn't an -rtp stream. +rtp stream. (Requires at least one of the output formats to be rtp). @item -discard (@emph{input}) Allows discarding specific streams or frames of streams at the demuxer. ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: release/2.8 | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [9bbcd1cc7b19be80e59619a443edead333b8efb9] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> (cherry picked from commit b84232694ef0c6897e82b52326c9ea4027c69ec4) Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9bbcd1cc7b19be80e59619a443edead333b8efb9 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
ffmpeg | branch: master | Simon Thelen <ffmpeg-...@c-14.de> | Fri Sep 11 21:49:07 2015 +0200| [b84232694ef0c6897e82b52326c9ea4027c69ec4] | committer: Michael Niedermayer lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream. Not requiring this can end up producing hilariously broken files together with -c:s copy (e.g. a webvtt file containing binary subtitle data). Signed-off-by: Simon Thelen <ffmpeg-...@c-14.de> Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b84232694ef0c6897e82b52326c9ea4027c69ec4 --- libavformat/webvttenc.c |6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index b93993d..c386538 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -46,8 +46,14 @@ static void webvtt_write_time(AVIOContext *pb, int64_t millisec) static int webvtt_write_header(AVFormatContext *ctx) { AVStream *s = ctx->streams[0]; +AVCodecContext *avctx = ctx->streams[0]->codec; AVIOContext *pb = ctx->pb; +if (ctx->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_WEBVTT) { +av_log(ctx, AV_LOG_ERROR, "Exactly one WebVTT stream is needed.\n"); +return AVERROR(EINVAL); +} + avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing ' c'.
ffmpeg | branch: release/2.4 | Simon Thelen ffmpeg-...@c-14.de | Tue Jun 9 04:55:57 2015 +0200| [d7682421528f76cd0b64fbe649f9501e61e5ec59] | committer: Michael Niedermayer libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'. Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the layout itself is not in the deprecated style. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at (cherry picked from commit 83307a32eb0c9f0843f655c44bb65e3e999153f8) Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d7682421528f76cd0b64fbe649f9501e61e5ec59 --- libavutil/channel_layout.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 4c0677f..cd5cf42 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -138,8 +138,8 @@ static uint64_t get_channel_layout_single(const char *name, int name_len) switch to the syntax '%.*sc' otherwise it will be interpreted as a channel layout number in a later version\n, name_len, name, name_len, name); -return layout; } +return layout; } } else { #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing ' c'.
ffmpeg | branch: release/2.5 | Simon Thelen ffmpeg-...@c-14.de | Tue Jun 9 04:55:57 2015 +0200| [fb22fc0c46bb4bee48cdcdf43c8cb1d18aa04e20] | committer: Michael Niedermayer libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'. Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the layout itself is not in the deprecated style. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at (cherry picked from commit 83307a32eb0c9f0843f655c44bb65e3e999153f8) Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fb22fc0c46bb4bee48cdcdf43c8cb1d18aa04e20 --- libavutil/channel_layout.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 4c0677f..cd5cf42 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -138,8 +138,8 @@ static uint64_t get_channel_layout_single(const char *name, int name_len) switch to the syntax '%.*sc' otherwise it will be interpreted as a channel layout number in a later version\n, name_len, name, name_len, name); -return layout; } +return layout; } } else { #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing ' c'.
ffmpeg | branch: release/2.6 | Simon Thelen ffmpeg-...@c-14.de | Tue Jun 9 04:55:57 2015 +0200| [3c7e41df27e264f4952cda66dbd0a4618021d8c2] | committer: Michael Niedermayer libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'. Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the layout itself is not in the deprecated style. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at (cherry picked from commit 83307a32eb0c9f0843f655c44bb65e3e999153f8) Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3c7e41df27e264f4952cda66dbd0a4618021d8c2 --- libavutil/channel_layout.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 4c0677f..cd5cf42 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -138,8 +138,8 @@ static uint64_t get_channel_layout_single(const char *name, int name_len) switch to the syntax '%.*sc' otherwise it will be interpreted as a channel layout number in a later version\n, name_len, name, name_len, name); -return layout; } +return layout; } } else { #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavfilter/formats: Fix parsing of channel specifications with a trailing 'c'.
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Sat Jun 20 18:52:50 2015 +0200| [7cbb52ecab90206eccb8cb629019d3a7816769f0] | committer: Michael Niedermayer libavfilter/formats: Fix parsing of channel specifications with a trailing 'c'. Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7cbb52ecab90206eccb8cb629019d3a7816769f0 --- libavfilter/formats.c | 17 +++-- tests/ref/fate/filter-formats | 10 +- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 2451bf7..8758b3d 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -637,23 +637,20 @@ int ff_parse_channel_layout(int64_t *ret, int *nret, const char *arg, void *log_ctx) { char *tail; -int64_t chlayout, count; +int64_t chlayout; -if (nret) { -count = strtol(arg, tail, 10); -if (*tail == 'c' !tail[1] count 0 count 63) { -*nret = count; -*ret = 0; -return 0; -} -} chlayout = av_get_channel_layout(arg); if (chlayout == 0) { chlayout = strtol(arg, tail, 10); -if (*tail || chlayout == 0) { +if (!(*tail == '\0' || *tail == 'c' *(tail + 1) == '\0') || chlayout = 0 || chlayout 63) { av_log(log_ctx, AV_LOG_ERROR, Invalid channel layout '%s'\n, arg); return AVERROR(EINVAL); } +if (nret) { +*nret = chlayout; +*ret = 0; +return 0; +} } *ret = chlayout; if (nret) diff --git a/tests/ref/fate/filter-formats b/tests/ref/fate/filter-formats index 0e21416..b0377e0 100644 --- a/tests/ref/fate/filter-formats +++ b/tests/ref/fate/filter-formats @@ -69,11 +69,11 @@ quad(side) -1 = ff_parse_channel_layout(, -1, blah); 0 = ff_parse_channel_layout(0004, 1, 1); 0 = ff_parse_channel_layout(0003, 2, 2); -0 = ff_parse_channel_layout(, 64, -1); -0 = ff_parse_channel_layout(003C, 4, 60); -0 = ff_parse_channel_layout(0041, 2, 65); -0 = ff_parse_channel_layout(, 1, 1c); -0 = ff_parse_channel_layout(, 2, 2c); +-1 = ff_parse_channel_layout(, -1, -1); +0 = ff_parse_channel_layout(, 60, 60); +-1 = ff_parse_channel_layout(, -1, 65); +0 = ff_parse_channel_layout(0004, 1, 1c); +0 = ff_parse_channel_layout(0003, 2, 2c); -1 = ff_parse_channel_layout(, -1, -1c); 0 = ff_parse_channel_layout(, 60, 60c); -1 = ff_parse_channel_layout(, -1, 65c); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing ' c'.
ffmpeg | branch: release/2.2 | Simon Thelen ffmpeg-...@c-14.de | Tue Jun 9 04:55:57 2015 +0200| [b2d7a0840534b54dab3ecb2e0e498505353e8c01] | committer: Michael Niedermayer libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'. Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the layout itself is not in the deprecated style. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at (cherry picked from commit 83307a32eb0c9f0843f655c44bb65e3e999153f8) Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b2d7a0840534b54dab3ecb2e0e498505353e8c01 --- libavutil/channel_layout.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 4c0677f..cd5cf42 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -138,8 +138,8 @@ static uint64_t get_channel_layout_single(const char *name, int name_len) switch to the syntax '%.*sc' otherwise it will be interpreted as a channel layout number in a later version\n, name_len, name, name_len, name); -return layout; } +return layout; } } else { #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing ' c'.
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Tue Jun 9 04:55:57 2015 +0200| [83307a32eb0c9f0843f655c44bb65e3e999153f8] | committer: Michael Niedermayer libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'. Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the layout itself is not in the deprecated style. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=83307a32eb0c9f0843f655c44bb65e3e999153f8 --- libavutil/channel_layout.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 4c0677f..cd5cf42 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -138,8 +138,8 @@ static uint64_t get_channel_layout_single(const char *name, int name_len) switch to the syntax '%.*sc' otherwise it will be interpreted as a channel layout number in a later version\n, name_len, name, name_len, name); -return layout; } +return layout; } } else { #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: add pkg-config support for libdcadec
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Wed Apr 15 17:18:58 2015 +0200| [ed2a712750c3342e399a44f9c5c2bd278128c759] | committer: Michael Niedermayer configure: add pkg-config support for libdcadec Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed2a712750c3342e399a44f9c5c2bd278128c759 --- configure |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 389de92..1d98828 100755 --- a/configure +++ b/configure @@ -5012,7 +5012,8 @@ enabled libceltrequire libcelt celt/celt.h celt_decode -lcelt0 { check_lib celt/celt.h celt_decoder_create_custom -lcelt0 || die ERROR: libcelt must be installed and version must be = 0.11.0.; } enabled libcacarequire_pkg_config caca caca.h caca_create_canvas -enabled libdcadec require libdcadec libdcadec/dca_context.h dcadec_context_create -ldcadec +enabled libdcadec { use_pkg_config dcadec libdcadec/dca_context.h dcadec_context_create || + { require libdcadec libdcadec/dca_context.h dcadec_context_create -ldcadec; }; } enabled libfaacrequire2 libfaac stdint.h faac.h faacEncGetVersion -lfaac enabled libfdk_aac require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac flite_libs=-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg: add sdp_file option
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Thu Dec 25 22:56:06 2014 +0100| [cc63da1223da2ccd758d3aab815ad230d74f1a5d] | committer: Michael Niedermayer ffmpeg: add sdp_file option Allow printing of sdp information to a file specified by -sdp_file This allows users to print sdp information when at least one of the outputs isn't an rtp stream. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cc63da1223da2ccd758d3aab815ad230d74f1a5d --- ffmpeg.c | 30 -- ffmpeg.h |1 + ffmpeg_opt.c | 10 ++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 9f29eac..46ea57b 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2270,16 +2270,34 @@ static void print_sdp(void) { char sdp[16384]; int i; +int j; +AVIOContext *sdp_pb; AVFormatContext **avc = av_malloc_array(nb_output_files, sizeof(*avc)); if (!avc) exit_program(1); -for (i = 0; i nb_output_files; i++) -avc[i] = output_files[i]-ctx; +for (i = 0, j = 0; i nb_output_files; i++) { +if (!strcmp(output_files[i]-ctx-oformat-name, rtp)) { +avc[j] = output_files[i]-ctx; +j++; +} +} + +av_sdp_create(avc, j, sdp, sizeof(sdp)); + +if (!sdp_filename) { +printf(SDP:\n%s\n, sdp); +fflush(stdout); +} else { +if (avio_open2(sdp_pb, sdp_filename, AVIO_FLAG_WRITE, int_cb, NULL) 0) { +av_log(NULL, AV_LOG_ERROR, Failed to open sdp file '%s'\n, sdp_filename); +} else { +avio_printf(sdp_pb, SDP:\n%s, sdp); +avio_close(sdp_pb); +av_free(sdp_filename); +} +} -av_sdp_create(avc, nb_output_files, sdp, sizeof(sdp)); -printf(SDP:\n%s\n, sdp); -fflush(stdout); av_freep(avc); } @@ -3122,7 +3140,7 @@ static int transcode_init(void) return ret; } -if (want_sdp) { +if (sdp_filename || want_sdp) { print_sdp(); } diff --git a/ffmpeg.h b/ffmpeg.h index 117a35c..0ad1e37 100644 --- a/ffmpeg.h +++ b/ffmpeg.h @@ -470,6 +470,7 @@ extern FilterGraph **filtergraphs; extern intnb_filtergraphs; extern char *vstats_filename; +extern char *sdp_filename; extern float audio_drift_threshold; extern float dts_delta_threshold; diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index ae05bf0..ac93eb5 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -77,6 +77,7 @@ const HWAccel hwaccels[] = { }; char *vstats_filename; +char *sdp_filename; float audio_drift_threshold = 0.1; float dts_delta_threshold = 10; @@ -381,6 +382,13 @@ static int opt_map_channel(void *optctx, const char *opt, const char *arg) return 0; } +static int opt_sdp_file(void *optctx, const char *opt, const char *arg) +{ +av_free(sdp_filename); +sdp_filename = av_strdup(arg); +return 0; +} + /** * Parse a metadata specifier passed as 'arg' parameter. * @param arg metadata string to parse @@ -3070,6 +3078,8 @@ const OptionDef options[] = { set the initial demux-decode delay, seconds }, { override_ffserver, OPT_BOOL | OPT_EXPERT | OPT_OUTPUT, { override_ffserver }, override the options from ffserver, }, +{ sdp_file, HAS_ARG | OPT_EXPERT | OPT_OUTPUT, { opt_sdp_file }, +specify a file in which to print sdp information, file }, { bsf, HAS_ARG | OPT_STRING | OPT_SPEC | OPT_EXPERT | OPT_OUTPUT, { .off = OFFSET(bitstream_filters) }, A comma-separated list of bitstream filters, bitstream_filters }, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/filters: use '|' instead of ':' in the documentation.
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Tue Nov 18 13:29:27 2014 +0100| [43c1d82b86b2c05061862b4e9f4a64ec1c8a6975] | committer: Michael Niedermayer doc/filters: use '|' instead of ':' in the documentation. Using colons to separate the outdefs is deprecated. Switch to using '|' to separate the list items. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43c1d82b86b2c05061862b4e9f4a64ec1c8a6975 --- doc/filters.texi | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 53f4cb2..8c16c7a 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -1710,11 +1710,11 @@ The default is 0.707q and gives a Butterworth response. Mix channels with specific gain levels. The filter accepts the output channel layout followed by a set of channels definitions. -This filter is also designed to remap efficiently the channels of an audio +This filter is also designed to efficiently remap the channels of an audio stream. The filter accepts parameters of the form: -@var{l}:@var{outdef}:@var{outdef}:... +@var{l}|@var{outdef}|@var{outdef}|... @table @option @item l @@ -1745,13 +1745,13 @@ avoiding clipping noise. For example, if you want to down-mix from stereo to mono, but with a bigger factor for the left channel: @example -pan=1:c0=0.9*c0+0.1*c1 +pan=1c|c0=0.9*c0+0.1*c1 @end example A customized down-mix to stereo that works automatically for 3-, 4-, 5- and 7-channels surround: @example -pan=stereo: FL FL + 0.5*FC + 0.6*BL + 0.6*SL : FR FR + 0.5*FC + 0.6*BR + 0.6*SR +pan=stereo| FL FL + 0.5*FC + 0.6*BL + 0.6*SL | FR FR + 0.5*FC + 0.6*BR + 0.6*SR @end example Note that @command{ffmpeg} integrates a default down-mix (and up-mix) system @@ -1774,25 +1774,25 @@ remapping. For example, if you have a 5.1 source and want a stereo audio stream by dropping the extra channels: @example -pan=stereo: c0=FL : c1=FR +pan=stereo| c0=FL | c1=FR @end example Given the same source, you can also switch front left and front right channels and keep the input channel layout: @example -pan=5.1: c0=c1 : c1=c0 : c2=c2 : c3=c3 : c4=c4 : c5=c5 +pan=5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5 @end example If the input is a stereo audio stream, you can mute the front left channel (and still keep the stereo channel layout) with: @example -pan=stereo:c1=c1 +pan=stereo|c1=c1 @end example Still with a stereo audio stream input, you can copy the right channel in both front left and right: @example -pan=stereo: c0=FR : c1=FR +pan=stereo| c0=FR | c1=FR @end example @section replaygain ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffmpeg_opt: abort if -to = -ss
ffmpeg | branch: master | Simon Thelen ffmpeg-...@c-14.de | Fri Oct 10 23:04:01 2014 +0200| [8c4ca4aa5aa998e31337e30ff30ebf48f534acc2] | committer: Michael Niedermayer ffmpeg_opt: abort if -to = -ss Makes ffmpeg abort instead of continuing when stop_time = start_time. Closes ticket #4015. Signed-off-by: Simon Thelen ffmpeg-...@c-14.de Signed-off-by: Michael Niedermayer michae...@gmx.at http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c4ca4aa5aa998e31337e30ff30ebf48f534acc2 --- ffmpeg_opt.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index 10aaa3a..c518ae1 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -1732,8 +1732,8 @@ static int open_output_file(OptionsContext *o, const char *filename) if (o-stop_time != INT64_MAX o-recording_time == INT64_MAX) { int64_t start_time = o-start_time == AV_NOPTS_VALUE ? 0 : o-start_time; if (o-stop_time = start_time) { -av_log(NULL, AV_LOG_WARNING, -to value smaller than -ss; ignoring -to.\n); -o-stop_time = INT64_MAX; +av_log(NULL, AV_LOG_ERROR, -to value smaller than -ss; aborting.\n); +exit_program(1); } else { o-recording_time = o-stop_time - start_time; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog