2014-02-04 2 views
4

Извините, что я должен задать этот вопрос, но я не смог найти ссылку на коды возврата avformat_open_input, и я не мог найти никого, спрашивающего/отвечающего на мой вопрос.FFMPEG avformat_open_input возвратил ошибку

После вызова функции

err = avformat_open_input(&pFormatCtx, is->filename, NULL, NULL); 

я получаю ERR = -13. Что это значит, и если кто-нибудь отвечает, пожалуйста, также расскажите, как вы знаете, какой код соответствует какой ошибке.

UPDATE: ОК, я, наконец, понял, как превратить код в сообщение, и сообщение «Permission denied». Кто-нибудь есть идея, где проблема с этим может быть?

ответ

4
  1. См libavutil/error.h для определения кодов ошибок, но они в основном соответствуют отрицательные значения errno. Вы можете использовать функцию av_strerror, чтобы получить содержательное сообщение.

  2. «Permission denied», скорее всего, означает, что файл, на который вы указываете is->filename, не может быть открыт из-за разрешений. Запустите strace на вашем приложении, если вы считаете, что это не так.

+0

Спасибо, я нашел функцию для кодов ошибок, а разрешение было отклонено из-за того, что я развивался на Android, но забыл предоставить разрешения на приложение для SD-карты. – ProgrammingGivesMeHeadaches

+0

Когда вы получаете ошибку в собственном коде, она иногда пытается попытаться сделать то же самое в Java-коде (открыть файл, установить соединение), чтобы получить более ясное сообщение об ошибке, которое в вашем случае, вероятно, будет отсутствовать READ_EXTERNAL_STORAGE или что-то в этом роде , –

+0

Это действительно помогает, но всю неделю я тонул в собственном коде приложения, и поэтому, естественно, когда еще одна ошибка выскочила, мне никогда не приходило в голову искать в другом месте. – ProgrammingGivesMeHeadaches

Смежные вопросы