0

TCP を開くときにエラーが発生しました。
正確には、avformat_open_input常に -5 (入出力エラー) を返します。
gdb を使用してエラー コードのソースを調べたところ、getaddrinfo(libavformat/tcp.c で) 関数が期待どおりに機能せず、エラー値 EIO が返されたことがわかりました。私のffmpegソースにはff_getaddrinfo(li​​bavformat/os_support.cに)リンクされてgetaddrinfoいる関数(この関数はポインター関数です)がありますが、プログラムを実行すると、プログラムはlibc.so(getaddrinfoではない)の他の関数、動的ライブラリを呼び出しました。呼び出された関数が見つかりませんでした。
ffmpeg に有効な URL を指定しました。有効な URL は「http://stream.radiojavan.com/radiojavan」です。

私は Android 用に ffmpeg ソースをコンパイルし、ffmpeg バージョン 0.8.1 を使用し
ました。これが私の構成です。

./configure --target-os=linux \
    --prefix=$PREFIX \
    --enable-cross-compile \
    --extra-libs="-lgcc" \
    --arch=arm \
    --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
    --sysroot=$PLATFORM \
    --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums  -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
    --disable-shared \
    --enable-static \
    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
    --disable-ffplay \
    --enable-zlib \

アドバイスやヘルプをいただければ幸いです。

4

1 に答える 1

0

Android マニフェストにインターネット アクセス許可を追加すると、機能する可能性があります。「android.permission.INTERNET (パーミッションを使用)」

于 2013-04-26T09:58:51.210 に答える