LiteAVSDK / Player_iOS

Super player for iOS...
https://trtc.io/
1.11k stars 225 forks source link

设置`startTime`导致crash #280

Closed xx-li closed 2 years ago

xx-li commented 2 years ago

如果SuperPlayerView设置startTime,那么快速切换视频会出现如下crash: 报错1:

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00007fff6da23470 libsystem_platform.dylib`_platform_strncpy + 64
    frame #1: 0x000000010982da85 DTVideo_Example`+[TXDRApi InitReportEvent:withCommandId:withModuleId:withExtInfo:] + 283
    frame #2: 0x0000000108eec3dc DTVideo_Example`-[TXVodPlayerStatsCollection reportStartStats] + 181
    frame #3: 0x0000000108f39b6b DTVideo_Example`-[TXCVodPlayer onPlayer:event:params:] + 988
    frame #4: 0x000000010921c7be DTVideo_Example`-[TXCIJKPlayer playerEvent:description:] + 211
    frame #5: 0x0000000110996f2c CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
    frame #6: 0x0000000110996ef2 CoreFoundation`___CFXRegistrationPost_block_invoke + 49
    frame #7: 0x0000000110996454 CoreFoundation`_CFXRegistrationPost + 496
    frame #8: 0x0000000110995d87 CoreFoundation`_CFXNotificationPost + 806
    frame #9: 0x000000010e4419a3 Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 82
    frame #10: 0x000000010924ffd8 DTVideo_Example`-[TXIJKFFMoviePlayerController postEvent:] + 2980
    frame #11: 0x000000010e4b6992 Foundation`__NSThreadPerformPerform + 179
    frame #12: 0x00000001109c4e15 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #13: 0x00000001109c4d0d CoreFoundation`__CFRunLoopDoSource0 + 180
    frame #14: 0x00000001109c41e2 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #15: 0x00000001109be941 CoreFoundation`__CFRunLoopRun + 875
    frame #16: 0x00000001109be0f3 CoreFoundation`CFRunLoopRunSpecific + 567
    frame #17: 0x0000000116aa0cd3 GraphicsServices`GSEventRunModal + 139
    frame #18: 0x000000011f183f42 UIKitCore`-[UIApplication _run] + 928
    frame #19: 0x000000011f188b5e UIKitCore`UIApplicationMain + 101
  * frame #20: 0x0000000108e4935f DTVideo_Example`main at AppDelegate.swift:15:7
    frame #21: 0x000000010a8d0ee9 dyld_sim`start_sim + 10
    frame #22: 0x00000001108994fe dyld`start + 462

    0x11e6adb51 <+88>:  movq   0xea9f00(%rip), %rsi      ; "_run"
    0x11e6adb58 <+95>:  callq  *0xba6dea(%rip)           ; (void *)0x000000010bff03c0: objc_msgSend
->  0x11e6adb5e <+101>: leaq   0x821251(%rip), %rdi      ; "Application violated contract by causing UIApplicationMain() to return. This incident will be reported."
    0x11e6adb65 <+108>: xorl   %eax, %eax
    0x11e6adb67 <+110>: callq  0x11ed35ddc               ; symbol stub for: abort_report_np

最后一行log是:
[I][TXVodPlayerStatsCollection.mm, reportStartStats, 252]:VodPlayer reportStartStats

报错2:

Assertion failed: (mp), function qcloud_ijkmp_get_property_int64, file /Users/builder001/workspace/p-269918d528f0429b85c9ac130605cb6e/src/ijkmedia/ijkplayer/ijkplayer.c, line 304.

在播放新视频之前,调用resetPlayer,则基本不会出现crash。

环境如下:

Installing SuperPlayer (3.4.9)
Installing TXLiteAVSDK_Player (9.5.29006)
chenjc0317 commented 2 years ago

我这里也出现这个问题了......

tanghk commented 2 years ago

确实是是设置了startTime导致的

tgitpushping commented 2 years ago

请使用最新的版本进行测试,此类问题已经修复过