void FilterGraph::pushFilter(Filter& filter) { AVFilterContext* context = NULL; const int err = avfilter_graph_create_filter(&context, &filter.getAVFilter(), filter.getInstanceName().c_str(), filter.getOptions().c_str(), NULL, _graph); filter.setAVFilterContext(context); if(err < 0) { std::string msg("Cannot add filter "); msg += filter.getName(); msg += " (instance="; msg += filter.getInstanceName(); msg += ") to the graph: "; msg += getDescriptionFromErrorCode(err); throw std::runtime_error(msg); } }