X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fffmpeg%2Fproducer%2Ffilter%2Faudio_filter.cpp;h=e07bbcdd173fb78627dd9d63ffbf78b5a78f7e38;hb=726897adbf881d3b75f171fff24f2b917ba5f05a;hp=e562fa377ba5fc2318a698cee0a9bfd3bc82c8c8;hpb=cd1a44a41dd64c05de067ba728c285f001b66bf3;p=casparcg diff --git a/modules/ffmpeg/producer/filter/audio_filter.cpp b/modules/ffmpeg/producer/filter/audio_filter.cpp index e562fa377..e07bbcdd1 100644 --- a/modules/ffmpeg/producer/filter/audio_filter.cpp +++ b/modules/ffmpeg/producer/filter/audio_filter.cpp @@ -171,45 +171,36 @@ struct audio_filter::implementation std::vector& source_contexts, std::vector& sink_contexts) { - try - { - AVFilterInOut* outputs = nullptr; - AVFilterInOut* inputs = nullptr; + AVFilterInOut* outputs = nullptr; + AVFilterInOut* inputs = nullptr; - FF(avfilter_graph_parse2( - &graph, - filtergraph.c_str(), - &inputs, - &outputs)); + FF(avfilter_graph_parse2( + &graph, + filtergraph.c_str(), + &inputs, + &outputs)); - // Workaround because outputs and inputs are not filled in for some reason - for (unsigned i = 0; i < graph.nb_filters; ++i) - { - auto filter = graph.filters[i]; + // Workaround because outputs and inputs are not filled in for some reason + for (unsigned i = 0; i < graph.nb_filters; ++i) + { + auto filter = graph.filters[i]; - if (std::string(filter->filter->name) == "abuffer") - source_contexts.push_back(filter); + if (std::string(filter->filter->name) == "abuffer") + source_contexts.push_back(filter); - if (std::string(filter->filter->name) == "abuffersink") - sink_contexts.push_back(filter); - } + if (std::string(filter->filter->name) == "abuffersink") + sink_contexts.push_back(filter); + } - for (AVFilterInOut* iter = inputs; iter; iter = iter->next) - source_contexts.push_back(iter->filter_ctx); + for (AVFilterInOut* iter = inputs; iter; iter = iter->next) + source_contexts.push_back(iter->filter_ctx); - for (AVFilterInOut* iter = outputs; iter; iter = iter->next) - sink_contexts.push_back(iter->filter_ctx); + for (AVFilterInOut* iter = outputs; iter; iter = iter->next) + sink_contexts.push_back(iter->filter_ctx); - FF(avfilter_graph_config( - &graph, - nullptr)); - } - catch(...) - { - //avfilter_inout_free(&outputs); - //avfilter_inout_free(&inputs); - throw; - } + FF(avfilter_graph_config( + &graph, + nullptr)); } void push(int input_pad_id, const std::shared_ptr& src_av_frame)