AgoraIO-Extensions / Agora-Flutter-SDK

Flutter plugin of Agora RTC SDK for Android/iOS/macOS/Windows
https://pub.dev/packages/agora_rtc_engine
MIT License
748 stars 388 forks source link

引用最新版本后,造成 fijkplayer 闪退。 #660

Closed OHeroJ closed 10 months ago

OHeroJ commented 2 years ago

引入 agora_rtc_engine: 5.1.0

https://github.com/befovy/fijkplayer/issues/511#issue-1215197964

感觉是 ffmpeg 的版本造成。

agora_rtc_engine: ^4.0.7 引入这个版本不会照成 fijkplayer 闪退。


after use agora_rtc_engine: 5.1.0

https://github.com/befovy/fijkplayer/issues/511#issue-1215197964.

The crash seems to be caused by the version of ffmpeg.

agora_rtc_engine: ^4.0.7 will not cause a crash.

littleGnAl commented 2 years ago

The fijkplayer should hide the ffmpeg symbols. The Agora RTC native SDK does not export the symbols.

nm example/ios/Pods/AgoraRtcEngine_iOS/Agoraffmpeg.xcframework/ios-arm64_armv7/Agoraffmpeg.framework/Agoraffmpeg

                 U ___error
                 U ___memcpy_chk
                 U ___sincos_stret
                 U ___sprintf_chk
                 U ___stack_chk_fail
                 U ___stack_chk_guard
                 U ___stderrp
                 U ___strcpy_chk
                 U _abort
                 U _access
                 U _acos
000000000020d4a7 T _agora_ffmpeg_av_muxer_add_stream
000000000020d4bb T _agora_ffmpeg_av_muxer_close
000000000020d49d T _agora_ffmpeg_av_muxer_open
000000000020d4b1 T _agora_ffmpeg_av_muxer_write_frame
000000000020d460 T _agora_ffmpeg_decode_frame
000000000020d46a T _agora_ffmpeg_fini_decoder
000000000020d456 T _agora_ffmpeg_get_stateeud
000000000020d442 T _agora_ffmpeg_init_decoder
000000000020d44c T _agora_ffmpeg_init_parser
000000000020d489 T _agora_ffmpeg_jpeg_encoder_encode_frame
000000000020d47f T _agora_ffmpeg_jpeg_encoder_init
000000000020d493 T _agora_ffmpeg_jpeg_encoder_release
000000000020d474 T _agora_ffmpeg_set_decode_file
                 U _arc4random
                 U _asin
                 U _atan
                 U _atan2
                 U _atoi
                 U _bsearch
                 U _ceil
                 U _close
                 U _closedir
                 U _cos
                 U _cosh
                 U _exp
                 U _exp2
                 U _fabs
                 U _fcntl
                 U _floor
                 U _fprintf
                 U _fputs
                 U _free
                 U _frexp
                 U _fstat
                 U _getenv
                 U _gettimeofday
                 U _gmtime_r
                 U _hypot
                 U _isatty
                 U _llrint
                 U _localtime_r
                 U _log
                 U _lrint
                 U _lrintf
                 U _lseek
                 U _lstat
                 U _malloc
                 U _memchr
                 U _memcmp
                 U _memcpy
                 U _memmove
                 U _memset
                 U _mktime
                 U _nanosleep
                 U _open
                 U _opendir
                 U _posix_memalign
                 U _pow
                 U _pthread_cond_broadcast
                 U _pthread_cond_destroy
                 U _pthread_cond_init
                 U _pthread_cond_signal
                 U _pthread_cond_wait
                 U _pthread_create
                 U _pthread_join
                 U _pthread_mutex_destroy
                 U _pthread_mutex_init
                 U _pthread_mutex_lock
                 U _pthread_mutex_unlock
                 U _pthread_once
                 U _read
                 U _readdir
                 U _realloc
                 U _rename
                 U _rmdir
                 U _round
                 U _sin
                 U _sinh
                 U _snprintf
                 U _sscanf
                 U _strchr
                 U _strcmp
                 U _strcpy
                 U _strcspn
                 U _strerror_r
                 U _strlen
                 U _strncmp
                 U _strrchr
                 U _strspn
                 U _strstr
                 U _strtod
                 U _strtol
                 U _strtoll
                 U _strtoul
                 U _sysctl
                 U _tan
                 U _tanh
                 U _trunc
                 U _unlink
                 U _vsnprintf
                 U _write
                 U dyld_stub_binder
OHeroJ commented 2 years ago
Option ijkiomanager not found.
Runner was compiled with optimization - stepping may behave oddly; variables may not be available.
* thread #77, name = 'ff_read', stop reason = EXC_BAD_ACCESS (code=1, address=0x8000000000000004)
    frame #0: 0x0000000102db75f0 Runner`setup_find_stream_info_opts(s=0x000000017daace00, codec_opts=0x0000000000000000) at ff_cmdutils.c:202:74 [opt]
Target 0: (Runner) stopped.

crash on iOS.

littleGnAl commented 11 months ago

If you still face this problem, please try upgrading the latest version of agora_rtc_engine to see if it works or not.

github-actions[bot] commented 10 months ago

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. If you find this problem please file a new issue with the same description, what happens, logs and the output. All system setups can be slightly different so it's always better to open new issues and reference the related ones. Thanks for your contribution.

github-actions[bot] commented 10 months ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please raise a new issue.