【发布时间】:2013-08-20 17:02:15
【问题描述】:
我自己尝试使用 libavcodec 作为后端播放媒体。我下载了 ffmpeg-2.0.1 并使用 ./configure、make 和 make install 安装。 在尝试运行应用程序来播放音频文件时,我在检查第一个音频流时遇到分段错误。我的程序就像
AVFormatContext* container = avformat_alloc_context();
if (avformat_open_input(&container, input_filename, NULL, NULL) < 0) {
die(“Could not open file”);
}
if (av_find_stream_info(container) < 0) {
die(“Could not find file info”);
}
av_dump_format(container, 0, input_filename, false);
int stream_id = -1;
int i;
for (i = 0; i < container->nb_streams; i++) {
if (container->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO) {
stream_id = i;
break;
}
}
在 if(container->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO) 处发生分段错误
我该如何解决这个问题?我在 ubuntu 12.04 工作。
【问题讨论】:
-
当我执行 gdb 时,我从 /usr/lib/i386-linux-gnu/i686/cmov/libavutil.so.51 的 av_strstart () 中的 0xb6f74985 得到分段错误