av_open_input_文件返回-2,但文件存在(NS2中的libav)

av_open_input_文件返回-2,但文件存在(NS2中的libav),ns2,libavformat,libav,Ns2,Libavformat,Libav,我尝试在NS2中进行模拟,在模拟中,我读入.wav文件,编码到gsm中,并通过网络发送它们。我已经设法制作了一个应用程序,可以读入.wav,编码到gsm,并存储在硬盘上(经过测试,工作正常)。现在,我尝试扩展网络模拟器2,但av_open_input_文件有问题,它不断地说没有这样的文件,尽管我在gsm编码应用程序中没有该文件的问题。我使用的呼叫: av_open_input_file(&pFormatCtx, "/home/xxx/audio_samples/audio.wav", N

我尝试在NS2中进行模拟,在模拟中,我读入.wav文件,编码到gsm中,并通过网络发送它们。我已经设法制作了一个应用程序,可以读入.wav,编码到gsm,并存储在硬盘上(经过测试,工作正常)。现在,我尝试扩展网络模拟器2,但av_open_input_文件有问题,它不断地说没有这样的文件,尽管我在gsm编码应用程序中没有该文件的问题。我使用的呼叫:

av_open_input_file(&pFormatCtx, "/home/xxx/audio_samples/audio.wav", NULL, 0, NULL);
已经尝试了不同的文件,硬编码路径、绝对路径、相对路径,并将“file://”放在前面,因为libav显然使用了某种文件协议。然后,我尝试用以下方法打开文件:

int desc = open("/home/xxx/audio_samples/audio.wav", O_RDONLY, 0);
(在libav的.c文件中找到了这个调用,该文件应该由av_open_input_文件调用)像这样打开文件没有问题,一切似乎都正常,所以现在我不知道还有什么问题

有什么建议吗

致以最良好的祝愿,
弗洛伦卡问题解决了。调用av_open_input_file之前,av_register_all()丢失。但没有任何警告或错误。

它怎么会警告您:)