VLCKit issueshttps://code.videolan.org/videolan/VLCKit/-/issues2020-07-13T10:59:04Zhttps://code.videolan.org/videolan/VLCKit/-/issues/162Init VLCMedia via callbacks2020-07-13T10:59:04ZAmir Abbas MousavianInit VLCMedia via callbackslibVLC 3.0 added very useful `libvlc_media_new_callbacks()` function to create a media with custom bytestream. But `VLCMedia` class does not provide any initializer to use it. It's useful to handle not-supported protocols like FTP and SM...libVLC 3.0 added very useful `libvlc_media_new_callbacks()` function to create a media with custom bytestream. But `VLCMedia` class does not provide any initializer to use it. It's useful to handle not-supported protocols like FTP and SMBv2 or authentication-protected http urls.3.3.0Felix Paul Kühnefkuehne@videolan.orgFelix Paul Kühnefkuehne@videolan.orghttps://code.videolan.org/videolan/VLCKit/-/issues/129VLCEventManager needs to be updated.2022-09-13T09:50:14ZCarolaVLCEventManager needs to be updated.The implementation is 10 years old and events get swallowed leading to not receiving playerisplaying notifications for example.
The code needs to be updated to take advantage of GCD
messagequeue and should be moved to NSOperationQueue. ...The implementation is 10 years old and events get swallowed leading to not receiving playerisplaying notifications for example.
The code needs to be updated to take advantage of GCD
messagequeue and should be moved to NSOperationQueue. Furthermore message_t should be an NSOpration that can be cancelled.
Fixing this will very likely break all the things but we need to do it!
see also duplicate https://code.videolan.org/videolan/VLCKit/issues/128
see also duplicate https://code.videolan.org/videolan/VLCKit/issues/1444.0Maxime ChapeletMaxime Chapelethttps://code.videolan.org/videolan/VLCKit/-/issues/119tvOS 11.2 AVDisplayManager support2023-04-17T17:05:24ZStefantvOS 11.2 AVDisplayManager supportWith tvOS 11.2 Apple introduces AVDisplayManager, which allows to adjust display modes on AppleTV 4K during playback. With AVPlayerViewController this happens automatically - but in tvOS I am using TVVLCKit, as AVPlayerViewController doe...With tvOS 11.2 Apple introduces AVDisplayManager, which allows to adjust display modes on AppleTV 4K during playback. With AVPlayerViewController this happens automatically - but in tvOS I am using TVVLCKit, as AVPlayerViewController does not support MPEG-TS streams on tvOS - only HLS.
But it should be possible to setup the properties manually - when all parameters (framerate, color depth, etc.) are known. So far I have no clue, which parameters are required, as Apple has not yet fully documented the AVDisplayCriteria and the AVDisplayManager.
For reference see: https://developer.apple.com/videos/play/fall2017/503/
Would be nice, when either we can get the necessary infos or TVVLCKit is doing it automatically, when configured to do so.
I would try to help on that, but not sure where the should be done best - in TVVLCKit or in libVLC.https://code.videolan.org/videolan/VLCKit/-/issues/105Corsican language is available but not distributed with VLC for iOS2018-07-16T14:26:19ZPatriccollu di Santa Maria è SichèCorsican language is available but not distributed with VLC for iOSHello,
This is my first post on this source management platform, so I hope this is the right place!
I'm a VLC translator for the **Corsican** language and I've a question regarding **VLC for iOS**.
I've installed version 2.8.2 (282.1)...Hello,
This is my first post on this source management platform, so I hope this is the right place!
I'm a VLC translator for the **Corsican** language and I've a question regarding **VLC for iOS**.
I've installed version 2.8.2 (282.1) on my iPhone but can't still use it in Corsican whereas the STRINGS resources for iOS are translated and available on the Transiflex Website since the beginning of this year.
I downloaded the 'VLC for iOS 2.8.1 source code' from http://get.videolan.org/vlc-iOS/2.8.1/vlc-ios-2.8.1.tar.gz
I can't find any resource for 'co' language. Please can you tell me why? When will it be distributed and available on Apple Store?
For your information, a Corsican translation is also available for Android and RT.
Best regards,
PatriccolluFuturehttps://code.videolan.org/videolan/VLCKit/-/issues/717VLCKit crash on Mojave / Big Sur when compiled with Xcode 15.02023-09-27T12:41:56ZCesare ForelliVLCKit crash on Mojave / Big Sur when compiled with Xcode 15.0Hi!
I've been using VLCKit-3.6.0b4 all summer with excellent results, and a couple weeks ago I tried updating to **VLCKit-3.6.0b10**, which also worked really well in all my tests.
There's something to say about my testing procedure 🤦...Hi!
I've been using VLCKit-3.6.0b4 all summer with excellent results, and a couple weeks ago I tried updating to **VLCKit-3.6.0b10**, which also worked really well in all my tests.
There's something to say about my testing procedure 🤦♂️, though, as _I missed_ trying running my app on Mojave and Big Sur from an Intel Mac; today I shipped an update with that last engine and I quickly received feedback, in the form of crash reports.
**As soon as my app embedding VLCKit-3.6.0b10 launches on Big Sur and Mojave on Intel Macs, it crashes**.
Attached you can find 2 crash reports, one from Big Sur I received from a User and the other after I was able to reproduce the issue on Mojave myself; both are symbolicated, but the symbols of my app do not seem to be "involved" in the crash.
Just for skimming this issue, here's the relevant part extracted from one of the attachments:
```
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
...
Crashed Thread: 10
...
Thread 10 Crashed:
0 ??? 000000000000000000 0 + 0
1 org.videolan.vlckitframework 0x00000001030eefd8 Connect(demux_t*) + 360
```
I am fairly convinced the issue lies with VLCKit-3.6.0b10 because **if I swap out that framework and revert to VLCKit-3.6.0b4 without changing anything else in my code, the app does not crash on launch anymore** (tested on the same Big Sur machine by my User and on a Mojave machine by me); when I re-add VLCKit-3.6.0b10, the crash on launch returns.
I don't find the attached crash reports particularly useful, to be honest, but maybe the **`Connect(demux_t*)` symbol in the crashing thread of both reports** is enough to point in the right direction.
**For me personally, this is far from an urgent issue**: I have reverted the released app back to VLCKit-3.6.0b4 and Apple's App Review approved the update in brilliantly quick time (16 minutes from submission to approval, hats off).
But I still thought it made sense to inform you of the issue, so that it can be evaluated and tested more; please, let me know if I can help in any way, and as always thanks for all your work!
---
Attached crash reports:
[crash_4_1_bigsur.crash.zip](/uploads/0923701f39514c2a10bec55b37ec1447/crash_4_1_bigsur.crash.zip)
[crash_4_1_mojave.crash.zip](/uploads/6f9af9d3f7fe9681450eeb86fb4828ed/crash_4_1_mojave.crash.zip)https://code.videolan.org/videolan/VLCKit/-/issues/713App Termination when playing lists and cycling from one item to the other2023-09-05T13:49:00ZFelix Paul Kühnefkuehne@videolan.orgApp Termination when playing lists and cycling from one item to the otherThis does not happen all the time, but sometimes only. Still the N°1 crash on the iOS app.
Full trace:
```
(lldb) bt all
thread #1, queue = 'com.apple.main-thread'
frame #0: 0x00000001910f041c libobjc.A.dylib`lookUpImpOrForward +...This does not happen all the time, but sometimes only. Still the N°1 crash on the iOS app.
Full trace:
```
(lldb) bt all
thread #1, queue = 'com.apple.main-thread'
frame #0: 0x00000001910f041c libobjc.A.dylib`lookUpImpOrForward + 72
frame #1: 0x00000001910eacc4 libobjc.A.dylib`_objc_msgSend_uncached + 68
frame #2: 0x00000001050d8f0c VLC for iOS`AudioPlayerViewController.mediaPlayerStateChanged(currentState=ended, isPlaying=false, currentMediaHasTrackToChooseFrom=false, currentMediaHasChapters=false, playbackService=0x00000002831cf930, self=0x00000001091bc000) at AudioPlayerViewController.swift:382:33
frame #3: 0x00000001050d9250 VLC for iOS`@objc AudioPlayerViewController.mediaPlayerStateChanged(_:isPlaying:currentMediaHasTrackToChooseFrom:currentMediaHasChapters:for:) at <compiler-generated>:0
frame #4: 0x0000000104e71b24 VLC for iOS`-[VLCPlaybackService mediaPlayerStateChanged:](self=0x00000002831cf930, _cmd="mediaPlayerStateChanged:", aNotification=@"VLCMediaPlayerStateChanged") at VLCPlaybackService.m:816:9
frame #5: 0x0000000109f05a08 MobileVLCKit`__HandleMediaInstanceStateChanged_block_invoke(.block_descriptor=<unavailable>, object=<unavailable>) at VLCMediaPlayer.m:181:17 [opt]
frame #6: 0x0000000109f0aa98 MobileVLCKit`__32-[VLCEventsHandler handleEvent:]_block_invoke(.block_descriptor=0x000000028144d280) at VLCEventsHandler.m:61:9 [opt]
frame #7: 0x0000000107834520 libdispatch.dylib`_dispatch_call_block_and_release + 32
frame #8: 0x0000000107836038 libdispatch.dylib`_dispatch_client_callout + 20
frame #9: 0x0000000107846798 libdispatch.dylib`_dispatch_main_queue_drain + 1196
frame #10: 0x00000001078462dc libdispatch.dylib`_dispatch_main_queue_callback_4CF + 44
frame #11: 0x00000001980f3c28 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
frame #12: 0x00000001980d5560 CoreFoundation`__CFRunLoopRun + 1992
frame #13: 0x00000001980da3ec CoreFoundation`CFRunLoopRunSpecific + 612
frame #14: 0x00000001d35f035c GraphicsServices`GSEventRunModal + 164
frame #15: 0x000000019a466f58 UIKitCore`-[UIApplication _run] + 888
frame #16: 0x000000019a466bbc UIKitCore`UIApplicationMain + 340
frame #17: 0x0000000104e50dc0 VLC for iOS`main(argc=1, argv=0x000000016afb7650) at main.m:20:16
frame #18: 0x00000001b760cdec dyld`start + 2220
thread #3, name = 'gputools.smt_poll.0x280ee85e0'
frame #0: 0x00000001d701b164 libsystem_kernel.dylib`__semwait_signal + 8
frame #1: 0x000000019f574888 libsystem_c.dylib`nanosleep + 220
frame #2: 0x000000019f575554 libsystem_c.dylib`usleep + 68
frame #3: 0x0000000107a17b6c GPUToolsCapture`smt_poll_thread_entry(void*) + 108
frame #4: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #8, name = 'com.apple.uikit.eventfetch-thread'
frame #0: 0x00000001d701aca4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x00000001d702db74 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x00000001d702de4c libsystem_kernel.dylib`mach_msg_overwrite + 540
frame #3: 0x00000001d701b1e8 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x00000001980d4024 CoreFoundation`__CFRunLoopServiceMachPort + 160
frame #5: 0x00000001980d5250 CoreFoundation`__CFRunLoopRun + 1208
frame #6: 0x00000001980da3ec CoreFoundation`CFRunLoopRunSpecific + 612
frame #7: 0x0000000192356fb4 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
frame #8: 0x0000000192356e9c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 64
frame #9: 0x000000019a599cc8 UIKitCore`-[UIEventFetcher threadMain] + 416
frame #10: 0x0000000192370524 Foundation`__NSThread__start__ + 716
frame #11: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #10
frame #0: 0x00000001d701b578 libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001f7e9d078 libsystem_pthread.dylib`_pthread_cond_wait + 1232
frame #2: 0x00000001a66b4ef8 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
frame #3: 0x00000001082e7dd0 VLCMediaLibraryKit`medialibrary::ModificationNotifier::run() [inlined] void std::__1::condition_variable::wait<medialibrary::ModificationNotifier::run()::$_1>(this=0x000000010902d590, __lk=0x000000016b49e9e8, __pred=(unnamed class) @ x23)::$_1) at __mutex_base:404:9 [opt]
frame #4: 0x00000001082e7db4 VLCMediaLibraryKit`medialibrary::ModificationNotifier::run(this=<unavailable>) at ModificationsNotifier.cpp:252:28 [opt]
frame #5: 0x00000001082ecfec VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*> >(void*) [inlined] decltype(__f=<unavailable>, __a0=0x0000000280e82538).*fp()) std::__1::__invoke<void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*, void>(void (medialibrary::ModificationNotifier::*&&)(), medialibrary::ModificationNotifier*&&) at type_traits:3859:1 [opt]
frame #6: 0x00000001082ecfd4 VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*> >(void*) [inlined] void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*, 2ul>(__t=size=3, (null)=<unavailable>)(), medialibrary::ModificationNotifier*>&, std::__1::__tuple_indices<2ul>) at thread:287:5 [opt]
frame #7: 0x00000001082ecfd0 VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*> >(__vp=0x0000000280e82520) at thread:298:5 [opt]
frame #8: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #11
frame #0: 0x00000001d701b578 libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001f7e9d078 libsystem_pthread.dylib`_pthread_cond_wait + 1232
frame #2: 0x00000001a66b4ef8 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
frame #3: 0x00000001082a3744 VLCMediaLibraryKit`medialibrary::DiscovererWorker::run() [inlined] void std::__1::condition_variable::wait<medialibrary::DiscovererWorker::run()::$_2>(this=0x0000000107912f50, __lk=0x000000016b52af38, __pred=(unnamed class) @ x19)::$_2) at __mutex_base:404:9 [opt]
frame #4: 0x00000001082a3728 VLCMediaLibraryKit`medialibrary::DiscovererWorker::run(this=0x0000000107912ee0) at DiscovererWorker.cpp:445:28 [opt]
frame #5: 0x00000001082a5504 VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::DiscovererWorker::*)(), medialibrary::DiscovererWorker*> >(void*) [inlined] decltype(__f=<unavailable>, __a0=0x0000000280e99318).*fp()) std::__1::__invoke<void (medialibrary::DiscovererWorker::*)(), medialibrary::DiscovererWorker*, void>(void (medialibrary::DiscovererWorker::*&&)(), medialibrary::DiscovererWorker*&&) at type_traits:3859:1 [opt]
frame #6: 0x00000001082a54ec VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::DiscovererWorker::*)(), medialibrary::DiscovererWorker*> >(void*) [inlined] void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::DiscovererWorker::*)(), medialibrary::DiscovererWorker*, 2ul>(__t=size=3, (null)=<unavailable>)(), medialibrary::DiscovererWorker*>&, std::__1::__tuple_indices<2ul>) at thread:287:5 [opt]
frame #7: 0x00000001082a54e8 VLCMediaLibraryKit`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (medialibrary::DiscovererWorker::*)(), medialibrary::DiscovererWorker*> >(__vp=0x0000000280e99300) at thread:298:5 [opt]
frame #8: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #14
frame #0: 0x00000001d701b578 libsystem_kernel.dylib`__psynch_cvwait + 8
frame #1: 0x00000001f7e9d078 libsystem_pthread.dylib`_pthread_cond_wait + 1232
frame #2: 0x0000000109f1378c MobileVLCKit`worker_thread(data=0x0000000107e43c50) at media_player.c:1212:9 [opt]
frame #3: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #16, name = 'com.apple.CFSocket.private'
frame #0: 0x00000001d701b808 libsystem_kernel.dylib`__select + 8
frame #1: 0x000000019812399c CoreFoundation`__CFSocketManager + 636
frame #2: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #45
frame #0: 0x000000010a77c324 MobileVLCKit`av_opt_free(obj=0x0000000108998400) at opt.c:1615:20 [opt]
frame #1: 0x000000010b4b4360 MobileVLCKit`avcodec_close(avctx=0x0000000108998400) at avcodec.c:631:5 [opt]
frame #2: 0x000000010ae01114 MobileVLCKit`avcodec_free_context + 28
frame #3: 0x000000010b41103c MobileVLCKit`EndAudioDec(obj=<unavailable>) at audio.c:205:5 [opt]
frame #4: 0x0000000109f2e374 MobileVLCKit`generic_stop(func=<unavailable>, ap=<unavailable>) at modules.c:365:5 [opt]
frame #5: 0x0000000109f2e210 MobileVLCKit`vlc_module_unload(obj=0x00000001079eae00, module=0x00000002825d2ed0, deinit=<unavailable>) at modules.c:344:9 [opt]
frame #6: 0x0000000109f2e32c MobileVLCKit`module_unneed(obj=0x00000001079eae00, module=0x00000002825d2ed0) at modules.c:379:5 [opt]
frame #7: 0x0000000109f3e350 MobileVLCKit`DeleteDecoder [inlined] UnloadDecoder(p_dec=0x00000001079eae00) at decoder.c:201:9 [opt]
frame #8: 0x0000000109f3e340 MobileVLCKit`DeleteDecoder(p_dec=0x00000001079eae00) at decoder.c:1823:5 [opt]
frame #9: 0x0000000109f3e108 MobileVLCKit`input_DecoderDelete(p_dec=<unavailable>) at decoder.c:2025:5 [opt] [artificial]
frame #10: 0x0000000109f47b14 MobileVLCKit`EsUnselect [inlined] EsDestroyDecoder(out=<unavailable>, p_es=0x0000000111c0c820) at es_out.c:1703:5 [opt]
frame #11: 0x0000000109f47b08 MobileVLCKit`EsUnselect(out=0x0000000280188570, es=0x0000000111c0c820, b_update=true) at es_out.c:1834:9 [opt]
frame #12: 0x0000000109f43d58 MobileVLCKit`EsOutControl at es_out.c:2341:17 [opt]
frame #13: 0x0000000109f431ec MobileVLCKit`EsOutControl(out=0x0000000280188570, i_query=<unavailable>, args=<unavailable>) at es_out.c:2940:13 [opt]
frame #14: 0x0000000109f4a3f8 MobileVLCKit`es_out_Control [inlined] es_out_vaControl(out=<unavailable>, i_query=<unavailable>, args=<unavailable>) at vlc_es_out.h:141:12 [opt]
frame #15: 0x0000000109f4a3ec MobileVLCKit`es_out_Control(out=<unavailable>, i_query=<unavailable>) at vlc_es_out.h:150:16 [opt]
frame #16: 0x0000000109f4a1ec MobileVLCKit`CmdExecuteControl(p_out=<unavailable>, p_cmd=0x000000016bd8aed0) at es_out_timeshift.c:0 [opt]
frame #17: 0x0000000109f495d8 MobileVLCKit`Control at es_out_timeshift.c:664:16 [opt]
frame #18: 0x0000000109f490ac MobileVLCKit`Control(p_out=<unavailable>, i_query=<unavailable>, args="") at es_out_timeshift.c:764:13 [opt]
frame #19: 0x0000000109f4fc74 MobileVLCKit`es_out_Control [inlined] es_out_vaControl(out=<unavailable>, i_query=<unavailable>, args=<unavailable>) at vlc_es_out.h:141:12 [opt]
frame #20: 0x0000000109f4fc68 MobileVLCKit`es_out_Control(out=<unavailable>, i_query=<unavailable>) at vlc_es_out.h:150:16 [opt]
frame #21: 0x0000000109f4e34c MobileVLCKit`End [inlined] es_out_SetMode(p_out=<unavailable>, i_mode=0) at es_out.h:95:17 [opt]
frame #22: 0x0000000109f4e340 MobileVLCKit`End(p_input=0x00000001089238f0) at input.c:1508:5 [opt]
frame #23: 0x0000000109f4e6d0 MobileVLCKit`Run(data=0x00000001089238f0) at input.c:507:9 [opt]
frame #24: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #49, name = 'AURemoteIO::IOThread'
frame #0: 0x00000001d701aca4 libsystem_kernel.dylib`mach_msg2_trap + 8
frame #1: 0x00000001d702db74 libsystem_kernel.dylib`mach_msg2_internal + 80
frame #2: 0x00000001d702de4c libsystem_kernel.dylib`mach_msg_overwrite + 540
frame #3: 0x00000001d701b1e8 libsystem_kernel.dylib`mach_msg + 24
frame #4: 0x0000000202d6e148 libEmbeddedSystemAUs.dylib`void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, AURemoteIO::IOThread::IOThread(AURemoteIO&, caulk::thread::attributes const&, caulk::mach::os_workgroup_managed const&)::'lambda'(), std::__1::tuple<> > >(void*) + 556
frame #5: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #52
frame #0: 0x00000001f7e95b74 libsystem_pthread.dylib`start_wqthread
thread #53
frame #0: 0x00000001d701b7dc libsystem_kernel.dylib`__ulock_wait + 8
frame #1: 0x00000001f7e988b8 libsystem_pthread.dylib`_pthread_join + 440
frame #2: 0x0000000109f4e878 MobileVLCKit`input_Close(p_input=0x00000001089238f0) at input.c:224:9 [opt]
frame #3: 0x0000000109f137a4 MobileVLCKit`worker_thread(data=0x0000000109910e20) at media_player.c:1220:9 [opt]
frame #4: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
* thread #54, stop reason = EXC_BAD_ACCESS (code=1, address=0xf8)
frame #0: 0x00000001f7e98024 libsystem_pthread.dylib`pthread_mutex_lock + 12
frame #1: 0x0000000109f11c44 MobileVLCKit`libvlc_media_subitems [inlined] media_get_subitems(p_md=0x0000000000000000, b_create=true) at media.c:133:5 [opt]
frame #2: 0x0000000109f11c38 MobileVLCKit`libvlc_media_subitems(p_md=0x0000000000000000) at media.c:729:39 [opt]
frame #3: 0x0000000109f181ec MobileVLCKit`set_relative_playlist_position_and_play at media_list_path.h:176:27 [opt]
* frame #4: 0x0000000109f181a8 MobileVLCKit`set_relative_playlist_position_and_play(p_mlp=<unavailable>, i_relative_position=<unavailable>) at media_list_player.c:832:29 [opt]
frame #5: 0x0000000109f17db4 MobileVLCKit`playlist_thread(data=0x0000000109910bf0) at media_list_player.c:344:9 [opt]
frame #6: 0x00000001f7e966b8 libsystem_pthread.dylib`_pthread_start + 148
thread #58
frame #0: 0x00000001d701b1ac libsystem_kernel.dylib`__workq_kernreturn + 8
(lldb)
```3.6.0Felix Paul Kühnefkuehne@videolan.orgFelix Paul Kühnefkuehne@videolan.orghttps://code.videolan.org/videolan/VLCKit/-/issues/627Crash when changing media started with VLCKit-3.4.1b122022-09-22T07:28:25ZCesare ForelliCrash when changing media started with VLCKit-3.4.1b12Hi,
today I compiled **VLCKit-3.4.1b12** and linked the new version of the framework to an existing app. While I'm on cloud nine because it fixes [#486](https://code.videolan.org/videolan/VLCKit/-/issues/486), **I'm now regularly experi...Hi,
today I compiled **VLCKit-3.4.1b12** and linked the new version of the framework to an existing app. While I'm on cloud nine because it fixes [#486](https://code.videolan.org/videolan/VLCKit/-/issues/486), **I'm now regularly experiencing a crash that was not occurring with 3.4.1b11 or any previous release**.
Premise: I haven't changed any code in my app, just updated the framework and then reverted to the previous one to double check.
Here's how I trigger the crash:
1. My app launches and automatically starts playing a RTSP stream selected in the previous session. Everything works fine and continues to do so *as long as I keep playing the same stream*: I can minimize, resize, wait around for minutes... rock solid. Starting with different streams does not affect the outcome.
2. As soon as I decide to switch to a different RTSP stream and touch the designed button in my UI to do so, this new crash immediately occurs:<br>
![2022-09-20_21_18_42](/uploads/81416608bd04b4e7000b1165c6a91306/2022-09-20_21_18_42.png)
3. The same crash also occurs if I reload the current stream (which, within my application, basically performs the same operations – which I'll list below – as switching to a different stream, so it sort of make sense that the crash is also occurring in this scenario).
Every time the app crashes, I see the following message logged (*the number at the end changes every time*):
> WARNING: undefined meta type : 54172224
A couple of times, I also saw this message logged, but I'm less sure it's relevant:
> VLCKit was compiled with optimization - stepping may behave oddly; variables may not be available
Now, even if it's code that worked for years, I obviously wonder if I'm doing something wrong when switching to a different video stream. Here's a quick ordered list of what my code does when switching from a stream currently playing to a different one:
1. I stop playback with `mediaPlayer?.stop()`;
2. I reset the mediaPlayer with `mediaPlayer = VLCMediaPlayer(options: options)` (such options depend from the stream URL, so I need to pass different arrays for each stream), set the delegate (`mediaPlayer?.delegate = self`) and then the drawable (`mediaPlayer?.drawable = videoView`);
3. I select the media with `mediaPlayer?.media = playlist?.media(at: UInt(myIndex))`; I don't modify the playlist when switching media, as it was initialized upon launch (or when the User edits the saved URLs) by calling `VLCMediaList(array: mediaArray!)`, with that `VLCMedia` array already containing all possible stream URLs to cycle through;
4. I start playBack with `mediaPlayer?.play()`.
Again, it's entirely possible that I'm doing something wrong in the procedure above, but again **it worked until today**. Hence my decision to open this issue and ask for help.
*What follows is pure speculation on my part and most likely wrong*, as I'm completely out of my league, but I understand some changes occurred to `VLCEventManager` in the last release, and I notice `libvlc_event_send` in the stack trace; if the two things are connected among them and with my crash, I have no idea.
Another thing I'm noticing *and might or might not be relevant* in the stack is a call to `[VLCMedia metaChanged:]`, which I don't believe I've ever seen before (and I've also never seen the *undefined meta type* warning in the console)... Since I'm under the impression the crash is caused by me "changing the media" *under the feet* of the media player, maybe this could help someone wiser than myself to figure out what's going on.
Finally, it would also be interesting to know if this crash is only happening to me, as that would prove that's something wrong in my implementation.
I hope I provided enough informations. I'll keep testing on my part and update this issue if I notice anything else.
Thank you in advance!3.5.0https://code.videolan.org/videolan/VLCKit/-/issues/576EXC_BAD_ACCESS crash calling VLCMediaPlayer.play() for the second time.2022-09-24T17:39:15ZJaidyn-BEXC_BAD_ACCESS crash calling VLCMediaPlayer.play() for the second time.I am trying to show a MxPEG stream within a SwiftUI app. I am using MobileVLCKit version ~> 3.3.0 in my Podfile. Here is my UIViewRepresentable code:
```
import SwiftUI
import MobileVLCKit
struct VLCPlayerView: UIViewRepresentable {
...I am trying to show a MxPEG stream within a SwiftUI app. I am using MobileVLCKit version ~> 3.3.0 in my Podfile. Here is my UIViewRepresentable code:
```
import SwiftUI
import MobileVLCKit
struct VLCPlayerView: UIViewRepresentable {
var url: String
static let vlcMediaPlayer = VLCMediaPlayer()
func makeUIView(context: Context) -> UIView {
print("Making UIView")
let controller = UIView()
VLCPlayerView.vlcMediaPlayer.drawable = controller
guard let uri = URL(string: url) else {
fatalError("Could not parse URL string.")
}
let media = VLCMedia(url: uri)
media.addOption(":avformat-format=mxg")
VLCPlayerView.vlcMediaPlayer.media = media
VLCPlayerView.vlcMediaPlayer.play()
return controller
}
func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<VLCPlayerView>) {}
static func dismantleUIView(_ uiView: UIView, coordinator: Self.Coordinator) {
stop()
}
static func stop() {
if (isPlaying()) {
print("Stopping playback")
VLCPlayerView.vlcMediaPlayer.stop()
}
}
static func isPlaying() -> Bool {
return VLCPlayerView.vlcMediaPlayer.isPlaying
}
}
```
And it's displayed in a VStack like this:
```
ZStack {
VStack {
DetailHeader(
text: "Camera Video",
isLandscape: isLandscape(orientation: orientation))
ZStack {
ZStack {
Color(.black).frame(height: 200, alignment: .center)
ProgressView().scaleEffect(1.5, anchor: .center).progressViewStyle(CircularProgressViewStyle(tint: .gray))
}
VLCPlayerView(url: cameraURL)
.frame(height: 200, alignment: .center)
}
}
}
```
I arrived at this code from the example in this thread [here](https://code.videolan.org/videolan/VLCKit/-/issues/399).
Opening the stream for the first time works, however navigating to the previous screen and coming back causes an EXC_BAD_ACCESS crash. I've tried a bunch of different workarounds for this, including loading the VLCMediaPlayer from a ViewModel and passing it to the VLCPlayerView directly, but all of them crash after trying to load the camera feed a second time.
Stack trace is here:
![Screen_Shot_2022-01-05_at_9.45.10_am](/uploads/45a391dfda5c5a8595a6293a6d9cf834/Screen_Shot_2022-01-05_at_9.45.10_am.png)
And the console output is here:
![Screen_Shot_2022-01-05_at_9.45.22_am](/uploads/1cbb766ce7cf3f40667fe73914d51eda/Screen_Shot_2022-01-05_at_9.45.22_am.png)
Running on an M1 Mac mini with XCode version 13.2.1.
Clearly it's holding a reference to something that's being released, but I can't find it. Zombie objects are turned on in XCode Scheme settings, and Address Sanitization is on as well.
Any help would be appreciated.https://code.videolan.org/videolan/VLCKit/-/issues/552iOS beta crash: SIGSEGV: demux_cc::init()2022-01-04T10:56:37ZSoomin LeeiOS beta crash: SIGSEGV: demux_cc::init()This happend during the VLC-iOS 3.3.0 (406) beta build.
MobileVLCKit 3.3.18b2 was used.
[report-2517665285370009999-ac7a75c5-256b-44e8-b063-65b6156d6d34.txt](/uploads/22a5a94df1be127eb781a040cedb6ee6/report-2517665285370009999-ac7a75c...This happend during the VLC-iOS 3.3.0 (406) beta build.
MobileVLCKit 3.3.18b2 was used.
[report-2517665285370009999-ac7a75c5-256b-44e8-b063-65b6156d6d34.txt](/uploads/22a5a94df1be127eb781a040cedb6ee6/report-2517665285370009999-ac7a75c5-256b-44e8-b063-65b6156d6d34.txt)https://code.videolan.org/videolan/VLCKit/-/issues/546iOS beta crash: Start - aout_OutputNew2022-09-24T17:35:24ZSoomin LeeiOS beta crash: Start - aout_OutputNewThis one of our top crashes in the latest iOS 3.3.0(405) beta build.
```
Thread 22 Crashed:
0 MobileVLCKit 0x0000000106cba4a8 Start + 396
1 MobileVLCKit 0x00000001057e57d8 aout_OutputN...This one of our top crashes in the latest iOS 3.3.0(405) beta build.
```
Thread 22 Crashed:
0 MobileVLCKit 0x0000000106cba4a8 Start + 396
1 MobileVLCKit 0x00000001057e57d8 aout_OutputNew + 308
2 MobileVLCKit 0x00000001057e2730 aout_DecNew + 540
3 MobileVLCKit 0x00000001057c736c aout_update_format + 528
4 MobileVLCKit 0x0000000106bdb784 DecodeBlock + 536
5 MobileVLCKit 0x00000001057c9264 DecoderProcess + 1596
6 MobileVLCKit 0x00000001057c6f94 DecoderThread + 384
7 libsystem_pthread.dylib 0x00000001debf0a50 0x1debe7000 + 39504
8 libsystem_pthread.dylib 0x00000001debf5a4c 0x1debe7000 + 59980
```
[report-2517671531350009999-6f2f97b9-19ad-45f0-ba27-d5e8f6caa527.txt](/uploads/7236d5fc94e3da545a5b6514f1ad29f6/report-2517671531350009999-6f2f97b9-19ad-45f0-ba27-d5e8f6caa527.txt)https://code.videolan.org/videolan/VLCKit/-/issues/545iOS beta crash: libvlc_event_detach2022-09-24T17:35:58ZSoomin LeeiOS beta crash: libvlc_event_detachOne of our top crashes in the latest iOS 3.3.0(405) beta.
```
Thread 7 Crashed:
0 MobileVLCKit 0x00000001079b1b48 libvlc_event_detach + 92
1 MobileVLCKit 0x000000010799e730 -[VLCMedia ...One of our top crashes in the latest iOS 3.3.0(405) beta.
```
Thread 7 Crashed:
0 MobileVLCKit 0x00000001079b1b48 libvlc_event_detach + 92
1 MobileVLCKit 0x000000010799e730 -[VLCMedia dealloc] (VLCMedia.m:322)
2 CoreFoundation 0x00000001828f5960 __RELEASE_OBJECTS_IN_THE_ARRAY__ + 112
3 CoreFoundation 0x000000018290964c -[__NSArrayM dealloc] + 272
4 MobileVLCKit 0x00000001079a2254 -[VLCMediaList .cxx_destruct] (VLCMediaList.m:87)
5 libobjc.A.dylib 0x000000019ae8cf18 object_cxxDestructFromClass(objc_object*, objc_class*) + 112
6 libobjc.A.dylib 0x000000019ae89c14 objc_destructInstance + 76
7 libobjc.A.dylib 0x000000019ae93338 _objc_rootDealloc + 76
8 MobileVLCKit 0x00000001079a1840 -[VLCMediaList dealloc] (VLCMediaList.m:133)
9 MobileVLCKit 0x00000001079a8154 -[VLCMediaListPlayer .cxx_destruct] (VLCMediaListPlayer.m:79)
10 libobjc.A.dylib 0x000000019ae8cf18 object_cxxDestructFromClass(objc_object*, objc_class*) + 112
11 libobjc.A.dylib 0x000000019ae89c14 objc_destructInstance + 76
12 libobjc.A.dylib 0x000000019ae93338 _objc_rootDealloc + 76
13 MobileVLCKit 0x00000001079a7c80 -[VLCMediaListPlayer dealloc] (VLCMediaListPlayer.m:157)
14 libobjc.A.dylib 0x000000019ae8cf18 object_cxxDestructFromClass(objc_object*, objc_class*) + 112
15 libobjc.A.dylib 0x000000019ae89c14 objc_destructInstance + 76
16 libobjc.A.dylib 0x000000019ae93338 _objc_rootDealloc + 76
17 MobileVLCKit 0x000000010799b4bc -[VLCEventManager startEventLoop] (VLCEventManager.m:0)
18 MobileVLCKit 0x000000010799ae74 EventDispatcherMainLoop (VLCEventManager.m:94)
19 libsystem_pthread.dylib 0x00000001f2dbda60 _pthread_start + 144
20 libsystem_pthread.dylib 0x00000001f2dbcf5c thread_start + 4
```
[report-2517670653120009999-be42fef2-2604-4bbb-9a87-6d5c8e0a3cdd.txt](/uploads/823841499d4ab019e4fa87d09db74cbf/report-2517670653120009999-be42fef2-2604-4bbb-9a87-6d5c8e0a3cdd.txt)3.5.0https://code.videolan.org/videolan/VLCKit/-/issues/543iOS beta crash: BackgroundWorkerCancel2022-04-13T07:23:01ZSoomin LeeiOS beta crash: BackgroundWorkerCancelRecent crash with the latest VLC-iOS beta build 404.
```
Thread 0 name:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001b933af90 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001f2a1d254 _pthread_cond_wait...Recent crash with the latest VLC-iOS beta build 404.
```
Thread 0 name:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001b933af90 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001f2a1d254 _pthread_cond_wait + 1228 (pthread_cond.c:636)
2 MobileVLCKit 0x00000001057b001c BackgroundWorkerCancel + 268 (background_worker.c:179)
3 VLC for iOS 0x00000001046e8fa0 -[VLCNetworkServerBrowserVLCMedia .cxx_destruct] + 76 (VLCNetworkServerBrowserVLCMedia.m:31)
4 libobjc.A.dylib 0x000000019b664f18 object_cxxDestructFromClass(objc_object*, objc_class*) + 116 (objc-class.mm:455)
5 libobjc.A.dylib 0x000000019b661c14 objc_destructInstance + 80 (objc-class.mm:469)
6 libobjc.A.dylib 0x000000019b66b338 _objc_rootDealloc + 80 (objc-runtime-new.mm:8189)
7 VLC for iOS 0x00000001046be33c -[VLCNetworkServerBrowserViewController .cxx_destruct] + 76 (VLCNetworkServerBrowserViewController.m:35)
8 libobjc.A.dylib 0x000000019b664f18 object_cxxDestructFromClass(objc_object*, objc_class*) + 116 (objc-class.mm:455)
9 libobjc.A.dylib 0x000000019b661c14 objc_destructInstance + 80 (objc-class.mm:469)
10 libobjc.A.dylib 0x000000019b66b338 _objc_rootDealloc + 80 (objc-runtime-new.mm:8189)
11 UIKitCore 0x000000018570bea0 -[UIResponder dealloc] + 156 (UIResponder.m:167)
12 UIKitCore 0x00000001855d6328 -[UIViewController dealloc] + 1224 (UIViewController.m:2960)
13 VLC for iOS 0x00000001046f7900 -[VLCNetworkListViewController dealloc] + 40 (VLCNetworkListViewController.m:34)
14 libobjc.A.dylib 0x000000019b66455c AutoreleasePoolPage::releaseUntil(objc_object**) + 200 (NSObject.mm:906)
15 libobjc.A.dylib 0x000000019b660928 objc_autoreleasePoolPop + 208 (NSObject.mm:1173)
16 CoreFoundation 0x0000000182f7959c _CFAutoreleasePoolPop + 32 (NSObject.m:808)
17 CoreFoundation 0x0000000182f72298 __CFRunLoopPerCalloutARPEnd + 48 (CFRunLoop.c:761)
18 CoreFoundation 0x0000000182f70ef0 __CFRunLoopRun + 2608 (CFRunLoop.c:3146)
19 CoreFoundation 0x0000000182f843b8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
20 GraphicsServices 0x000000019e91438c GSEventRunModal + 164 (GSEvent.c:2200)
21 UIKitCore 0x00000001859246a8 -[UIApplication _run] + 1100 (UIApplication.m:3493)
22 UIKitCore 0x00000001856a37f4 UIApplicationMain + 2092 (UIApplication.m:5046)
23 VLC for iOS 0x00000001046fbba8 0x1046b0000 + 310184
24 dyld 0x00000001056a1a24 start + 520 (dyldMain.cpp:876)
```
MobileVLCKit: 3.3.18b1
[2021-10-06_23-23-15.9659_-0400-d444f5801caa97f0029864a46c41d2c04bc7f467.crash](/uploads/aaf0ffb0bf5a044bf41fece45bca0e9f/2021-10-06_23-23-15.9659_-0400-d444f5801caa97f0029864a46c41d2c04bc7f467.crash)3.5.0Felix Paul Kühnefkuehne@videolan.orgFelix Paul Kühnefkuehne@videolan.orghttps://code.videolan.org/videolan/VLCKit/-/issues/533iOS beta crash: vlc_vaLog2021-10-22T13:01:46ZSoomin LeeiOS beta crash: vlc_vaLogDuring the latest iOS beta 403, some users encountered the following.
```
Thread 26 Crashed:
0 libsystem_pthread.dylib 0x00000001f1499948 pthread_rwlock_rdlock + 0
1 MobileVLCKit 0x00000001076b9d...During the latest iOS beta 403, some users encountered the following.
```
Thread 26 Crashed:
0 libsystem_pthread.dylib 0x00000001f1499948 pthread_rwlock_rdlock + 0
1 MobileVLCKit 0x00000001076b9d0c vlc_vaLog + 288
2 MobileVLCKit 0x00000001076b9da8 vlc_Log + 36
3 MobileVLCKit 0x00000001076bce8c DelCallback + 408
4 MobileVLCKit 0x00000001089e013c DecSysRelease + 100
5 MobileVLCKit 0x00000001089e075c SubpictureDestroy + 16
6 MobileVLCKit 0x00000001076c04f4 subpicture_Delete + 52
7 MobileVLCKit 0x000000010769d1c4 spu_Destroy + 276
8 MobileVLCKit 0x0000000107699c80 vout_Close + 116
9 MobileVLCKit 0x000000010768b0cc input_resource_Terminate + 232
10 MobileVLCKit 0x000000010764b888 worker_thread + 172
11 libsystem_pthread.dylib 0x00000001f1495a60 _pthread_start + 144
12 libsystem_pthread.dylib 0x00000001f1494f5c thread_start + 4
```
[report-2517687255020009999-ea999023-e6ec-4d00-aaf5-ffc2faeed3d7.txt](/uploads/d6b9af974f07a81c928600a3fee5fe0e/report-2517687255020009999-ea999023-e6ec-4d00-aaf5-ffc2faeed3d7.txt)https://code.videolan.org/videolan/VLCKit/-/issues/532iOS beta crash: DelCallback2021-10-22T13:01:46ZSoomin LeeiOS beta crash: DelCallback[2021-10-05_10-25-36.1175_+0300-65ba6a3061070eb35055ff7d30c5ae401b3fdcbf.crash](/uploads/eca0f2876b4d7697f4fc72e0027cfc53/2021-10-05_10-25-36.1175_+0300-65ba6a3061070eb35055ff7d30c5ae401b3fdcbf.crash)
```
Thread 28 Crashed:
0 libsyste...[2021-10-05_10-25-36.1175_+0300-65ba6a3061070eb35055ff7d30c5ae401b3fdcbf.crash](/uploads/eca0f2876b4d7697f4fc72e0027cfc53/2021-10-05_10-25-36.1175_+0300-65ba6a3061070eb35055ff7d30c5ae401b3fdcbf.crash)
```
Thread 28 Crashed:
0 libsystem_pthread.dylib 0x00000001f1cd7368 pthread_mutex_lock + 0 (inline_internal.h:53)
1 MobileVLCKit 0x00000001038e4030 DelCallback + 76
2 libsystem_pthread.dylib 0x00000001f1cd4f5c thread_start + 8
```
MobileVLCKit 3.3.17 used for this beta.Alexandre Janniauxajanni@videolabs.ioAlexandre Janniauxajanni@videolabs.iohttps://code.videolan.org/videolan/VLCKit/-/issues/531iOS beta crash: Close2021-11-09T18:55:40ZSoomin LeeiOS beta crash: CloseAn archive has been added with all the differents logs with the same/similar stack.
```
Thread 0 name:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001b7bd4204 __ulock_wait + 8
1 libsystem_pthread.dylib 0x000000...An archive has been added with all the differents logs with the same/similar stack.
```
Thread 0 name:
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001b7bd4204 __ulock_wait + 8
1 libsystem_pthread.dylib 0x00000001f0e23bbc _pthread_join + 452 (pthread_cancelable.c:290)
2 MobileVLCKit 0x000000010670970c Close + 40
3 CoreFoundation 0x00000001812ca86c -[NSArray makeObjectsPerformSelector:] + 248 (NSArray.m:507)
4 CoreFoundation 0x000000018127cee8 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28 (CFNotificationCenter.c:652)
5 CoreFoundation 0x0000000181318b9c ___CFXRegistrationPost_block_invoke + 52 (CFNotificationCenter.c:173)
6 CoreFoundation 0x00000001812ebf54 _CFXRegistrationPost + 456 (CFNotificationCenter.c:199)
7 CoreFoundation 0x0000000181292d54 _CFXNotificationPost + 716 (CFNotificationCenter.c:1147)
8 Foundation 0x0000000182a97028 -[NSNotificationCenter postNotificationName:object:userInfo:] + 96 (NSNotification.m:560)
9 UIKitCore 0x0000000183a1cc0c -[UIApplication _deactivateForReason:notify:] + 1424 (UIApplication.m:1836)
10 UIKitCore 0x0000000183af8438 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 212 (_UISceneLifecycleMultiplexer.m:101)
11 UIKitCore 0x0000000183d39acc -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 760 (_UISceneLifecycleMultiplexer.m:564)
12 UIKitCore 0x0000000183cc51f0 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 340 (_UISceneLifecycleMultiplexer.m:470)
13 UIKitCore 0x00000001838ac0a0 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block... + 196 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:73)
14 UIKitCore 0x000000018396c688 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 892 (BSAnimationSettings+UIKit.m:50)
15 UIKitCore 0x00000001838adfb0 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 276 (_UISceneSettingsDiffAction.m:23)
16 UIKitCore 0x00000001839991e8 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 384 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:58)
17 UIKitCore 0x0000000183e21b0c __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.610 + 776 (UIScene.m:1775)
18 UIKitCore 0x00000001838dcdb8 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 256 (UIScene.m:1476)
19 UIKitCore 0x00000001839204f0 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 288 (UIScene.m:1742)
20 UIKitCore 0x00000001838a9fe0 -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 492 (UIApplicationSceneClientAgent.m:80)
21 FrontBoardServices 0x0000000192d25110 -[FBSScene updater:didUpdateSettings:withDiff:transitionContext:completion:] + 528 (FBSScene.m:549)
22 FrontBoardServices 0x0000000192d3dd5c __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke_2 + 152 (FBSWorkspaceScenesClient.m:581)
23 FrontBoardServices 0x0000000192d226c4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 240 (FBSWorkspace.m:352)
24 FrontBoardServices 0x0000000192d28b20 __94-[FBSWorkspaceScenesClient _queue_updateScene:withSettings:diff:transitionContext:completion:]_block_invoke + 396 (FBSWorkspaceScenesClient.m:580)
25 libdispatch.dylib 0x0000000180f5d950 _dispatch_client_callout + 20 (object.m:560)
26 libdispatch.dylib 0x0000000180f613e8 _dispatch_block_invoke_direct + 264 (queue.c:489)
27 FrontBoardServices 0x0000000192d23fa4 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48 (FBSSerialQueue.m:157)
28 FrontBoardServices 0x0000000192d233e4 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 220 (FBSSerialQueue.m:181)
29 FrontBoardServices 0x0000000192d279f4 -[FBSSerialQueue _performNextFromRunLoopSource] + 28 (FBSSerialQueue.m:194)
30 CoreFoundation 0x000000018130d030 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1972)
31 CoreFoundation 0x000000018131dcf0 __CFRunLoopDoSource0 + 208 (CFRunLoop.c:2016)
32 CoreFoundation 0x0000000181258064 __CFRunLoopDoSources0 + 376 (CFRunLoop.c:2061)
33 CoreFoundation 0x000000018125d804 __CFRunLoopRun + 820 (CFRunLoop.c:2951)
34 CoreFoundation 0x00000001812713c8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
35 GraphicsServices 0x000000019ca8238c GSEventRunModal + 164 (GSEvent.c:2200)
36 UIKitCore 0x0000000183c170bc -[UIApplication _run] + 1100 (UIApplication.m:3457)
37 UIKitCore 0x0000000183994be8 UIApplicationMain + 2124 (UIApplication.m:5013)
38 VLC for iOS 0x00000001043f4500 main + 88 (main.m:20)
39 dyld 0x00000001051cda24 start + 520 (dyldMain.cpp:876)
```
MobileVLCKit 3.3.17 used for this beta.
[Logs.zip](/uploads/73fdee84d5e84b23298d0e0d5dcf8918/Logs.zip)Alexandre Janniauxajanni@videolabs.ioAlexandre Janniauxajanni@videolabs.iohttps://code.videolan.org/videolan/VLCKit/-/issues/522MobileVLCKit 3.3.17 play and play after stop, caused crash(EXC_BAD_ACCESS).2022-07-11T23:15:45ZToradamonMobileVLCKit 3.3.17 play and play after stop, caused crash(EXC_BAD_ACCESS).Hi,
<br>
<br>
(First, sorry my poor English....)
<br>
<br>
EXC_BAD_ACCESS will occur when call stop() during playback then call play().
<br>
<br>
<br>
pattern 1 : occur
&nbsp;&nbsp;&nbsp;&nbsp; play() -> stop() -> play()
pattern 2 : no...Hi,
<br>
<br>
(First, sorry my poor English....)
<br>
<br>
EXC_BAD_ACCESS will occur when call stop() during playback then call play().
<br>
<br>
<br>
pattern 1 : occur
play() -> stop() -> play()
pattern 2 : not occur
stop() -> play()
pattern 3 : not occur
play() -> play()
<br>
<br>
<br>
Do I need to destroy the object or do some initialization?
<br>
<br>
<br>
Thanks,
<br>
Kimoto
[Test Code(Please refer //comment)]
```
var mediaPlayer: VLCMediaPlayer = VLCMediaPlayer(options: ["-vvvv"])
var mediaPlayerStopped: Bool = true
override func viewDidLoad() {
super.viewDidLoad()
let gesture = UITapGestureRecognizer(target: self, action: #selector(liveViewTapped(_:)))
self.liveView.addGestureRecognizer(gesture)
}
override func viewDidAppear(_ animated: Bool) {
let targetUrl = URL(string: "rtsp://\(targetIPAddress)/h264")!
let media = VLCMedia(url: targetUrl)
mediaPlayer.media = media
mediaPlayer.delegate = self
mediaPlayer.drawable = self.liveView
mediaPlayer.play() // 1. The video will display correctly.
mediaPlayerStopped = false
}
@objc func liveViewTapped(_ sender:UITapGestureRecognizer){
//if mediaPlayer.isPlaying { // !! This flag cannot be used after stop()
if !mediaPlayerStopped{
mediaPlayer.stop() // 2. The video will be stopped.
mediaPlayerStopped = true
}else{
mediaPlayer.play() // 3. EXC_BAD_ACCESS will occur.
mediaPlayerStopped = false
}
}
```
![EXC_BAD_ACCESS_2021-08-24_9.53.33](/uploads/c200e7688042eaf71e9ceb0ae6dc305a/スクリーンショット_2021-08-24_9.53.33.png)3.3.17https://code.videolan.org/videolan/VLCKit/-/issues/376VLCMediaPlayer crashes sometimes by stop() und dealloc the UIViewController, ...2022-03-13T16:34:30ZStefan SchulzVLCMediaPlayer crashes sometimes by stop() und dealloc the UIViewController, what contents the playerThe error happens in master-branch. The error does not happen in 3.3.9-branch/tag
I have a theory that it's related to the commit.
media player: remove no longer needed assert
https://code.videolan.org/videolan/VLCKit/-/commit/99e057d4f...The error happens in master-branch. The error does not happen in 3.3.9-branch/tag
I have a theory that it's related to the commit.
media player: remove no longer needed assert
https://code.videolan.org/videolan/VLCKit/-/commit/99e057d4fceaab7b412bb46151b50c4b6e5ae95c
Example
1. I have a list of the Urls
2. With every tap on the URL, i open MyPlayerViewController with presentViewConroller, and start playing with play-Method
3. With closeButton i dismiss MyPlayerViewController
class MyPlayerViewController : UIViewController {
private let vlcVideoView = UIView(frame: .zero)
private let vlcMediaPlayer: VLCMediaPlayer = VLCMediaPlayer()
// Button to dismiss the MyPlayerViewController
private let closeButton = UIButton(type: .system)
override func viewDidLoad() {
super.viewDidLoad()
self.vlcMediaPlayer.drawable = vlcVideoView
// add vlcVideoView to view hierarchy
self.closeButton.addTarget(self, action: #selector(MyPlayerViewController.close(_:)), for: .touchUpInside)
// add closeButton to view hierarchy
}
public func play(url: String) {
guard let url = URL(string: url) else {
return
}
let media = VLCMedia(url: url)
self.vlcMediaPlayer.media = media
self.vlcMediaPlayer.play()
}
public func play() {
self.vlcMediaPlayer.play()
}
public func stop() {
if self.vlcMediaPlayer.isPlaying {
self.vlcMediaPlayer.stop()
}
}
public func pause() {
self.vlcMediaPlayer.pause()
}
// when stopping, the UI freezes, and sometimes sporadically the app crashes with cryptic asserts
// in branch/tag 3.3.9 this does not happen.
@objc func close(_ sender: UIButton) {
self.stop()
dismiss(animated: true, completion: nil)
}
}https://code.videolan.org/videolan/VLCKit/-/issues/335iOS App crashes on play built with xcode11.3.1 on iOS12.4.32020-07-23T15:07:34ZDeliaiOS App crashes on play built with xcode11.3.1 on iOS12.4.3Hi, I am using this vlc player with MobileVLCKit in react native.
Oddly, it's crashing on play when only built with xcode 11.3.1 on iOS 12.4.3 (iphone6)
but it's playing well with xcode 10.3 on both iOS 13.3.1 & 12.4.3
xcode 11.3.1 b...Hi, I am using this vlc player with MobileVLCKit in react native.
Oddly, it's crashing on play when only built with xcode 11.3.1 on iOS 12.4.3 (iphone6)
but it's playing well with xcode 10.3 on both iOS 13.3.1 & 12.4.3
xcode 11.3.1 builds on iOS 13.3.1 also plays well.
So it's crashing only **on iOS 12.4.3** if the app built with **xcode 11.3.1**
The video is **webm**. (I haven't tested other ios versions)
Please tell me if you have any ideas about this issue.
I need to support both iOS versions.
Thanks.
**Dependencies**:
```
- React (0.61.5):
- MobileVLCKit (3.3.9)
```
**Crash logs:**
[debug_xcode11_console.log](/uploads/c2eb71ad53d5d27dd841734c61fc320a/debug_xcode11_console.log)
[debug_xcode11.log](/uploads/51d29ba88b324569088c889b0c98f3e4/debug_xcode11.log)
[crash_report.log](/uploads/8c1abfbf5116b5100033afcd7933077c/crash_report.log)https://code.videolan.org/videolan/VLCKit/-/issues/323[Crash] input.c line 2638 - InputSourceNew2020-06-29T17:45:49Zmiosgit[Crash] input.c line 2638 - InputSourceNewHello,
this is the second most happening bug of my tvOS app (first also is from VLC).
Can you help with this? Thanks.
```
#0
Crashed: Thread
SIGSEGV 0x0000000000000000
0 libsystem_platform.dylib
_platform_strlen + 4
1 libsystem_c.dylib...Hello,
this is the second most happening bug of my tvOS app (first also is from VLC).
Can you help with this? Thanks.
```
#0
Crashed: Thread
SIGSEGV 0x0000000000000000
0 libsystem_platform.dylib
_platform_strlen + 4
1 libsystem_c.dylib
strdup + 24
2 UltimateIPTV
input.c line 2638
InputSourceNew + 4301154976
3 libsystem_pthread.dylib
thread_start + 8
```https://code.videolan.org/videolan/VLCKit/-/issues/322-[VLCEventManager startEventLoop] is the main crash in my app2020-06-29T17:45:30Zmiosgit-[VLCEventManager startEventLoop] is the main crash in my appThis keep happening since the first time I introduced VLC in my app. Can you help to get it fixed? Thank you.
```
#0
Crashed: Thread
SIGSEGV 0x00000008b2b3a3c0
0
libobjc.A.dylib
objc_release + 16
3
libobjc.A.dylib
_objc_rootDealloc + ...This keep happening since the first time I introduced VLC in my app. Can you help to get it fixed? Thank you.
```
#0
Crashed: Thread
SIGSEGV 0x00000008b2b3a3c0
0
libobjc.A.dylib
objc_release + 16
3
libobjc.A.dylib
_objc_rootDealloc + 48
4 UltimateIPTV
VLCEventManager.m line 221
-[VLCEventManager startEventLoop] + 4371631184
5 UltimateIPTV
VLCEventManager.m line 97
EventDispatcherMainLoop + 4371629580
6 libsystem_pthread.dylib
_pthread_start + 156
7 libsystem_pthread.dylib
thread_start + 8
```