[FFmpeg-cvslog] ffplay: add support for libswresample options

Marton Balint git at videolan.org
Sat Oct 26 14:02:10 CEST 2013


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Sun Oct 20 13:10:36 2013 +0200| [44758b4d17f6bcdfca74d329ad2fcff3e930bdbd] | committer: Marton Balint

ffplay: add support for libswresample options

Signed-off-by: Marton Balint <cus at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44758b4d17f6bcdfca74d329ad2fcff3e930bdbd
---

 ffplay.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/ffplay.c b/ffplay.c
index 54764c6..5d3d189 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1833,6 +1833,8 @@ static int configure_audio_filters(VideoState *is, const char *afilters, int for
     int64_t channel_layouts[2] = { 0, -1 };
     int channels[2] = { 0, -1 };
     AVFilterContext *filt_asrc = NULL, *filt_asink = NULL;
+    char aresample_swr_opts[512] = "";
+    AVDictionaryEntry *e = NULL;
     char asrc_args[256];
     int ret;
 
@@ -1840,6 +1842,12 @@ static int configure_audio_filters(VideoState *is, const char *afilters, int for
     if (!(is->agraph = avfilter_graph_alloc()))
         return AVERROR(ENOMEM);
 
+    while ((e = av_dict_get(swr_opts, "", e, AV_DICT_IGNORE_SUFFIX)))
+        av_strlcatf(aresample_swr_opts, sizeof(aresample_swr_opts), "%s=%s:", e->key, e->value);
+    if (strlen(aresample_swr_opts))
+        aresample_swr_opts[strlen(aresample_swr_opts)-1] = '\0';
+    av_opt_set(is->agraph, "aresample_swr_opts", aresample_swr_opts, 0);
+
     ret = snprintf(asrc_args, sizeof(asrc_args),
                    "sample_rate=%d:sample_fmt=%s:channels=%d:time_base=%d/%d",
                    is->audio_filter_src.freq, av_get_sample_fmt_name(is->audio_filter_src.fmt),



More information about the ffmpeg-cvslog mailing list