本文主要是介绍ffmpeg源码分析四:transcode_step函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
该函数的主要功能是一步完整的转换工作,下面看看源代码:
static int transcode_step(void)
{OutputStream *ost;InputStream *ist;int ret;//选择一个有效的输出流进行处理ost = choose_output(); if (!ost) {if (got_eagain()) {reset_eagain();av_usleep(10000);return 0;}av_log(NULL, AV_LOG_VERBOSE, "No more inputs to read from, finishing.\n");return AVERROR_EOF;}//选择一个输入流if (ost->filter) {if ((ret = transcode_from_filter(ost->filter->graph, &ist)) < 0)return ret;if (!ist)return 0;} else {av_assert0(ost->source_index >= 0);ist = input_streams[ost->source_index];}//读取并处理每一个包ret = process_input(ist->file_index);if (ret == AVERROR(EAGAIN)) {
这篇关于ffmpeg源码分析四:transcode_step函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!