2015-04-01 2 views
1

Я использую библиотеку ffmpeg на андроиде для потоковой передачи видео в реальном времени. Я выполнил ffmpeg для android после roman10 instructions. Приложение работает правильно - оно подключается к серверу, загружает канал, перекодирует его, перетаскивает и отображает на экране устройства. Однако после определенного случайного момента приложение падает с Fatal signal 11 (SIGSEGV), code 1. Я использовал ndk-stack, чтобы найти источник проблемы. Вот свалка:Не удается открыть файл символа. Ошибка (20): Не каталог

********** Crash dump: ********** 
Build fingerprint: 'google/hammerhead/hammerhead:5.0.1/LRX22C/1602158:user/release-keys' 
pid: 25241, tid: 25317, name: AsyncTask #5 >>> com.grzebyk.streamapp <<< 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x98e74c9c 
Stack frame #00 pc 00047924 /data/app/com.grzebyk.streamapp-1/lib/arm/libswscale-3.so: Unable to open symbol file /Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/libswscale-3.so. Error (20): Not a directory 
Stack frame #01 pc 00034be8 /data/app/com.grzebyk.streamapp-1/lib/arm/libswscale-3.so (sws_scale+2648): Unable to open symbol file /Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/libswscale-3.so. Error (20): Not a directory 

Мой родной код находится в файле StreamApp.cpp. Для меня похоже, что приложение пытается получить доступ к libswscale-3.so (часть ffmpeg), расположенному внутри libStreamApp.so. Это кажется странным для меня ...

Все файлы .so ffmpeg находятся в каталоге /libs/armeabi/lib*.so. Естественно, это включает в себя «отсутствующий» libswscale-3.so. Самое неприятное - факт, что приложение работает отлично, но оно внезапно падает, и для этого не требуется никакого специального триггера.

Что я могу сделать, чтобы поместить libswscale-3.so внутри labStreamApp.so или избежать ссылки на один .so-файл из другого?

ответ

1

Это довольно просто, вы прошли

"/Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/"

в качестве параметра для ndk- стек и, очевидно, это не папка :) Вы должны пройти как-л

"/ Users/Гржебик/Документы/New_Eclipse_Projects/StreamApp/ЛИЭС/armeabi /"

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