VLCKit issueshttps://code.videolan.org/videolan/VLCKit/-/issues2023-08-18T06:05:06Zhttps://code.videolan.org/videolan/VLCKit/-/issues/79Support passthrough on tvOS2023-08-18T06:05:06ZIainSupport passthrough on tvOSIssue: I'd like to playback an 5.1 file. [example](https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU-Narration.mp4). The official tvOS VLC app plays it as 2 channel, stereo. I'm getting the same result on the app I'm developing. However ...Issue: I'd like to playback an 5.1 file. [example](https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU-Narration.mp4). The official tvOS VLC app plays it as 2 channel, stereo. I'm getting the same result on the app I'm developing. However other non-VLC apps like Netflix play 5.1 just fine and so does my Macbook using the VLC app and playing the linked example file.
Is this a known issue? or is there something I can do to make surround sound work?
Context: Developing a Tvos video playback app that will play movies streamed from a network device. Much like the current VLC app. The apple tv gen 4 device is connected to the TV through a 5.1 AMP that instantly shows the moment surround content is passed through. The only instance it sticks on stereo is in VLC :(4.0https://code.videolan.org/videolan/VLCKit/-/issues/14Retrieving buffering progress2021-03-22T16:09:57ZFrancis ChongRetrieving buffering progressCurrently there is a ``VLCMediaPlayerStateBuffering`` state in ``VLCMediaPlayer``. In my app which stream media from network, it enter this buffering state for a long time.
In libvlc, there is a ``event->u.media_player_buffering.new_...Currently there is a ``VLCMediaPlayerStateBuffering`` state in ``VLCMediaPlayer``. In my app which stream media from network, it enter this buffering state for a long time.
In libvlc, there is a ``event->u.media_player_buffering.new_cache`` which is the progress of buffering, which would greatly help this case.
I've tried to add my own event:
```objc
static void HandleMediaBufferChanged(const libvlc_event_t * event, void * self)
{
float newBuffer = event->u.media_player_buffering.new_cache;
@autoreleasepool {
[[VLCEventManager sharedManager] callOnMainThreadObject:(__bridge id)(self)
withMethod:@selector(mediaPlayerBufferChanged:)
withArgumentAsObject:@(newBuffer)];
[[VLCEventManager sharedManager] callOnMainThreadDelegateOfObject:(__bridge id)(self)
withDelegateMethod:@selector(mediaPlayerBufferChanged:)
withNotificationName:VLCMediaPlayerBufferChanged];
}
}
```
But it seems all events collapsed to one event: the app only get notified when the progress is 0% or 100%, even the buffering take some time. I wonder if there is any mistake on above lines, and can we have this feature in future VLCKit?4.0https://code.videolan.org/videolan/VLCKit/-/issues/724Crash with iOS 17.4 when running in the Simulator2024-03-27T07:25:25ZCesare ForelliCrash with iOS 17.4 when running in the SimulatorHi!
First of all, I would like to apologise in advance because I understand it's unlikely the information I'm able to provide here will be sufficient to understand the crash I am experiencing; I still wanted to open an issue in case my ...Hi!
First of all, I would like to apologise in advance because I understand it's unlikely the information I'm able to provide here will be sufficient to understand the crash I am experiencing; I still wanted to open an issue in case my problem is not isolated.
I have a **SwiftUI** project targeting **iOS 17.x** that uses **VLCKit 3.6.0b10** to play RTSP streams; my project does not yet take advantage of the new Swift concurrency and _Xcode's concurrency check is set to minimal_.
I've been running this app in the Simulator and on devices (iPhone and iPad) for a couple months without any issue, from different Xcode versions up to 15.2.
Yesterday I noticed that **launching the app with Xcode 15.3's Simulator reliably determines the attached crash to occur just a fraction of a second after calling `mediaPlayer.play()`, and before playback actually begins**:
![simulator_17_4_crash](/uploads/e916e169bf22368886d8a9a35154c593/simulator_17_4_crash.png)
I've run some tests (all on an Apple silicon Mac with Sonoma 14.3.1 23D60) with different Xcode combinations and iOS versions for the Simulator, confirming that **the crash is directly connected with the iOS 17.4 Simulator**, and does not seem to be related to the Xcode version (and therefore the Swift toolchain, which in all cases is left to Xcode's default):
- Xcode 15.2, iOS 17.2 sim -> no crash
- Xcode 15.2, iOS 17.4 sim -> 💥
- Xcode 15.3, iOS 17.2 sim -> no crash
- Xcode 15.3, iOS 17.4 sim -> 💥
Playing different RTSP streams does not affect the result.
Luckily, **the problem only occurs when running my app on the Simulator**, as this morning I have updated both my iPhone 12 Pro and my 9th gen. iPad to v17.4 of the operating system, and **the crash never happens on device**, even when attached to Xcode's debugger.
It seems to me the stack trace isn't telling much about what's going on, apart from possibly being a memory issue somewhat connected to OpenGL; I'm not sure if it's an Apple bug – seems likely – and how much invested would Apple be in solving an OpenGL bug if that's the case.
I hope these informations are somewhat useful, or better yet that no one else experiences this problem.https://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/631Crash resuming playback on multiple VLCMediaPlayer instances, possibly relate...2022-10-04T04:10:28ZCesare ForelliCrash resuming playback on multiple VLCMediaPlayer instances, possibly related to `input lock`Hi.
This one is not easy to describe, and I'm afraid it will be even more problematic to diagnose. Thank you in advance for their time to whomever will decide to read.
I have a Mac app that plays RTSP streams using VLCKit; the User can...Hi.
This one is not easy to describe, and I'm afraid it will be even more problematic to diagnose. Thank you in advance for their time to whomever will decide to read.
I have a Mac app that plays RTSP streams using VLCKit; the User can open **multiple windows, each one with its media player instance** reproducing a different stream.
No matter the number of media players concurrently working, **playback start and works fine 99% of the time, including stopping playback when the screen locks and resuming when it unlocks** (something I'm doing in my code: when the screensaver is running, or the app is minimized, there's no need to keep playing).
For a couple years now, I've noticed that **sometimes my app hangs — doesn't crash – when the screen unlocks and the playback should resume in all media players**. _(-> Update: as mentioned in Edit 3 below, it might be something related to how **input lock** are handled)_
Luckily, it's something only myself and a handful of Users seem to be experiencing, probably because we're the ones with more concurrent streams playing (> 5). Still, it's something that always bugged me and I've been trying to work around this for _a lot_ of hours, with limited success.
Before today, I've never been able to pinpoint where the issue occurred exactly, as **it appeared to originate from `libvlc_ media _player_play`**, but I was probably doing something wrong when embedding the VLCKit framework, as I didn't have access to `media_player.c` source code from within Xcode; when "I was lucky" and the app hanged while the debugger was attached, it showed me `libvlc_ media _player_play` in the stack trace, but couldn't read the actual class and see at which line it happened.
So, over the years I've **tried logging to file** (never helped, logging always stopped before the hang) and **to the console**.
I've never opened an issue here, because I really didn't know how to describe the problem: **all media players stop** (the delegate confirms that in my logging) **but when resuming, sometimes (unpredictably, as far as I can tell) something locks up the app after calling `mediaPlayer?.play()` on one of the instances**.
I should mention that there is one change I made about a year ago that helped reduce the occurrence of the hang (before, I had it daily, and now it occurs about a couple times per week): adding a "reload coordinator" that sends the stop signal to all media players when the screen locks and **handles resuming playback when it unlocks, dispatching the `mediaPlayer?.play()` of each ViewController on separate queues and with a delay** (0.1 seconds after the previous call of `.play()`, perfectly acceptable because even if takes 1.5 seconds to resume all streams, it's not a problem at all) _seems_ to have helped.
After adding **VLCKit-3.4.1b13**, I've experienced the hang a couple times (no more or less than usual), but today it occurred while Xcode's debugger was attached, and **for the first time I've noticed the whole stack trace was "inspectable"**, meaning I could see the VLC code highlighted on the crashing lines. Again, I don't know what I was doing wrong in the past when embedding the framework, but my hope is that being able to "peek under the hood" will make this issue at least a little more debuggable than before.
I understand my use case, with multiple concurrent media players, is an edge case, so by no mean I'm assuming that someone should spend a lot of time debugging this... but maybe more expert eyes could notice something that could explain what's happening, and hopefully point me in the right direction to work around this.
Below you can find the screenshots I took earlier, when the app hanged and I force-quitted it. **To recap, this happens occasionally when calling `mediaPlayer?.play()` after the playback was stopped because the screen locked (screensaver) or the app was minimized**; the app never ever hangs on launch, only when resuming.
Thank you again for your time and help.
---
*Edit 01*: Below I'm adding a crash report after I've force quit the app I've found hanging.
---
*Edit 02*: I just realized the crash report I added in Edit 1 has been _markdownified_, here's a [text file](/uploads/5659e715a6621b98e0f23aecf335126d/crash_report_extract.txt) for another crash I've experienced today (small difference in code: instead of dispatching the resume playback on background queues as I did before, in this build I was trying dispatching on the main one, but not difference whatsoever in behavior so far... still crashes sometimes)
---
*Edit 03*: The hang occurred again this morning while the app was attached to Xcode's debugger, so I had to force-quit it and Xcode jumped to a section of the code I did find interesting, at least to the point of reporting it here: it appears to be an **input lock** issue of some sort.
Specifically, the hang occurred after hiding all windows of the app from the Dock and trying to make the app return visible, something I've noticed can also cause the app to freeze when the Dock icon is clicked and the windows should reappear (the fact that the same hang happens doing this is actually unsurprising, as playback stops when the windows are hidden and resumes when they return visible, same as when the screen locks and unlocks).
While I'm not sure how to interpret it, I did fin the comment above the SIGTERM interesting; it was in `media_player.c`, under a section titled 'Shortcuts':
> The input lock protects the input and input resource pointer.
> It MUST NOT be used from callbacks.
>
> The object lock protects the reset, namely the media and the player state.
> It can, and usually needs to be taken from callbacks.
> The object lock can be acquired under the input lock... and consequently
> the opposite order is STRICTLY PROHIBITED.
Again, I don't know if this is relevant, but since **the issue is happening pretty regularly (basically, if I lock and unlock the screen a few times, or hide and show the app, sooner or later the hang occurs while playback should resume)** and I assume it will be quite hard to debug, I'm trying to provide any possibly relevant information.
I'm also removing the "occasionally" from the title, as it's actually something that can happen almost reliably under certain – uncommon – circumstances, specifically when multiple instances stop and resume playback.
Screenshot:
![2022-10-04_05_50_45](/uploads/019211b74842b3e5aa02625b7c0aad57/2022-10-04_05_50_45.png)
---
**Screenshots attached to the initial submission of the issue:**
![01](/uploads/d1ed23837596dc713c20dfdf7612507c/01.jpg)
![02](/uploads/5d57bf407aeb9c28821b686595f48350/02.jpg)
![03](/uploads/c2f1e6a71e723997235a67ffcbead80a/03.jpg)
![04](/uploads/b70f3c6e7b955cee2a7c0964c4cbc2fc/04.jpg)
![05](/uploads/25169d63a6161c8aeaa876869aafb40d/05.jpg)
![06](/uploads/b6932fccc7275941722b2d9f3c3bd2bf/06.jpg)
![07](/uploads/82a58264142e4bcad6231d7d69cffb8a/07.jpg)
---
**Crash report mentioned in Edit 01**
<details><summary>Partial crash report after force quitting the app hanging</summary>
Date/Time: 2022-09-26 15:50:10.328 +0200
End time: 2022-09-26 15:50:11.719 +0200
OS Version: macOS 12.6 (Build 21G115)
Architecture: arm64e
Report Version: 35.1
Incident Identifier: F50B7D28-12DA-4956-846D-E928D3C347A9
Data Source: Stackshots
Shared Cache: 049B583E-D4DC-3B2B-88DA-E52D6E18313D slid base address 0x1ab640000, slide 0x2b640000
Shared Cache: 3765E290-E8AE-3AF7-92BF-DA62DFB8AC4F slid base address 0x7ff81ee8c000, slide 0x1ee8c000
Shared Cache: 42BF9149-279D-3A6F-814E-7BABFABBA63B slid base address 0x1e1670000, slide 0x61670000
Command: GlanceCam
Path: /Applications/GlanceCam.app/Contents/MacOS/GlanceCam
Identifier: com.cdf1982.GlanceCam
Version: 3.5 (3991)
Team ID: 8P2V7XS9U7
Architecture: arm64
PID: 92189
Time Since Fork: 11447s
Event: hang
Duration: 1.39s
Steps: 14 (100ms sampling interval)
Hardware model: MacBookAir10,1
Active cpus: 8
HW page size: 16384
VM page size: 16384
Time Awake Since Boot: 255402s
Time Since Wake: 26396s
Total CPU Time: 4.450s (8.9G cycles, 11.2G instructions, 0.79c/i)
Advisory levels: Battery -> 3, User -> 2, ThermalPressure -> 0, Combined -> 2
Free disk space: 530.50 GB/1858.19 GB, low space threshold 3072 MB
--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------
Heaviest stack for the main thread of the target process:
14 start + 520 (dyld + 20620) [0x10492d08c]
14 main + 12 (AppDelegate.swift:79,7 in GlanceCam + 55560) [0x1045b1908]
14 NSApplicationMain + 1132 (AppKit + 14076) [0x1ae5606fc]
14 -[NSApplication run] + 636 (AppKit + 204808) [0x1ae58f008]
14 -[NSApplication _handleEvent:] + 76 (AppKit + 4628724) [0x1ae9c70f4]
14 -[NSApplication(NSEvent) sendEvent:] + 1172 (AppKit + 1769068) [0x1ae70ce6c]
14 routeKeyEquivalent + 568 (AppKit + 8065532) [0x1aed0e1fc]
14 -[NSMenu performKeyEquivalent:] + 452 (AppKit + 3384068) [0x1ae897304]
14 -[NSMenu _performActionForItem:atIndex:fromEvent:] + 228 (AppKit + 6774988) [0x1aebd30cc]
14 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 100 (AppKit + 3387360) [0x1ae897fe0]
14 -[NSMenuItem _corePerformAction] + 444 (AppKit + 3388140) [0x1ae8982ec]
14 -[NSApplication(NSResponder) sendAction:to:from:] + 460 (AppKit + 2381256) [0x1ae7a25c8]
14 @objc WindowController.reloadStream(_:) + 172 (<compiler-generated>:473,20 in GlanceCam + 210744) [0x1045d7738]
14 $s9GlanceCam16WindowControllerC12reloadStreamyyypF + 60 (WindowController.swift:479,16 in GlanceCam + 210744) [0x1045d7738]
14 ViewController.integrateSettingsIntoInterface(fromScratch:) + 1452 (ViewController.swift:1260,27 in GlanceCam + 161456) [0x1045cb6b0]
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfC + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0]
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfcTO + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0]
14 -[VLCMediaPlayer(Private) initWithDrawable:options:] + 220 (VLCMediaPlayer.m:1499,31 in VLCKit + 69540) [0x1096a4fa4]
14 -[VLCLibrary initWithOptions:] + 80 (VLCLibrary.m:115,9 in VLCKit + 21088) [0x109699260]
14 -[VLCLibrary prepareInstanceWithOptions:] + 292 (VLCLibrary.m:132,17 in VLCKit + 21408) [0x1096993a0]
14 config_GetInt + 88 (core.c:108,5 in VLCKit + 226232) [0x1096cb3b8]
14 _pthread_rwlock_lock_slow + 708 (libsystem_pthread.dylib + 14724) [0x1ab968984]
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c]
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc]
Process: GlanceCam [92189] [unique pid 2471022]
UUID: 42468371-E3C9-3AF3-8F7A-A5A27EA8BD2D
Path: /Applications/GlanceCam.app/Contents/MacOS/GlanceCam
Identifier: com.cdf1982.GlanceCam
Version: 3.5 (3991)
Team ID: 8P2V7XS9U7
Shared Cache: 049B583E-D4DC-3B2B-88DA-E52D6E18313D slid base address 0x1ab640000, slide 0x2b640000
Architecture: arm64
Footprint: 655.32 MB
Time Since Fork: 11447s
Num samples: 14 (1-14)
CPU Time: 0.030s (61.2M cycles, 39.0M instructions, 1.57c/i)
Note: 5 idle work queue threads omitted
Thread 0x686879 DispatchQueue "com.apple.main-thread"(1) 14 samples (1-14) priority 47 (base 47)
<process frontmost, thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start + 520 (dyld + 20620) [0x10492d08c] 1-14
14 main + 12 (AppDelegate.swift:79,7 in GlanceCam + 55560) [0x1045b1908] 1-14
14 NSApplicationMain + 1132 (AppKit + 14076) [0x1ae5606fc] 1-14
14 -[NSApplication run] + 636 (AppKit + 204808) [0x1ae58f008] 1-14
14 -[NSApplication _handleEvent:] + 76 (AppKit + 4628724) [0x1ae9c70f4] 1-14
14 -[NSApplication(NSEvent) sendEvent:] + 1172 (AppKit + 1769068) [0x1ae70ce6c] 1-14
14 routeKeyEquivalent + 568 (AppKit + 8065532) [0x1aed0e1fc] 1-14
14 -[NSMenu performKeyEquivalent:] + 452 (AppKit + 3384068) [0x1ae897304] 1-14
14 -[NSMenu _performActionForItem:atIndex:fromEvent:] + 228 (AppKit + 6774988) [0x1aebd30cc] 1-14
14 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 100 (AppKit + 3387360) [0x1ae897fe0] 1-14
14 -[NSMenuItem _corePerformAction] + 444 (AppKit + 3388140) [0x1ae8982ec] 1-14
14 -[NSApplication(NSResponder) sendAction:to:from:] + 460 (AppKit + 2381256) [0x1ae7a25c8] 1-14
14 @objc WindowController.reloadStream(_:) + 172 (<compiler-generated>:473,20 in GlanceCam + 210744) [0x1045d7738] 1-14
14 $s9GlanceCam16WindowControllerC12reloadStreamyyypF + 60 (WindowController.swift:479,16 in GlanceCam + 210744) [0x1045d7738] 1-14
14 ViewController.integrateSettingsIntoInterface(fromScratch:) + 1452 (ViewController.swift:1260,27 in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfC + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfcTO + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 -[VLCMediaPlayer(Private) initWithDrawable:options:] + 220 (VLCMediaPlayer.m:1499,31 in VLCKit + 69540) [0x1096a4fa4] 1-14
14 -[VLCLibrary initWithOptions:] + 80 (VLCLibrary.m:115,9 in VLCKit + 21088) [0x109699260] 1-14
14 -[VLCLibrary prepareInstanceWithOptions:] + 292 (VLCLibrary.m:132,17 in VLCKit + 21408) [0x1096993a0] 1-14
14 config_GetInt + 88 (core.c:108,5 in VLCKit + 226232) [0x1096cb3b8] 1-14
14 _pthread_rwlock_lock_slow + 708 (libsystem_pthread.dylib + 14724) [0x1ab968984] 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc5cd DispatchQueue "gc_resume_vc4_queue"(6899) 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 376 (libdispatch.dylib + 46980) [0x1ab7af784] 1-14
14 _dispatch_source_invoke + 1596 (libdispatch.dylib + 108768) [0x1ab7be8e0] 1-14
14 _dispatch_continuation_pop + 500 (libdispatch.dylib + 30320) [0x1ab7ab670] 1-14
14 _dispatch_client_callout + 20 (libdispatch.dylib + 16820) [0x1ab7a81b4] 1-14
14 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated> in GlanceCam + 461740) [0x104614bac] 1-14
14 closure #1 in ReloadCoordinator.startPlayback() + 344 (ReloadCoordinator.swift:224,24 in GlanceCam + 237120) [0x1045dde40] 1-14
14 ViewController.integrateSettingsIntoInterface(fromScratch:) + 1452 (ViewController.swift:1260,27 in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfC + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfcTO + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 -[VLCMediaPlayer(Private) initWithDrawable:options:] + 220 (VLCMediaPlayer.m:1499,31 in VLCKit + 69540) [0x1096a4fa4] 1-14
14 -[VLCLibrary initWithOptions:] + 80 (VLCLibrary.m:115,9 in VLCKit + 21088) [0x109699260] 1-14
14 -[VLCLibrary prepareInstanceWithOptions:] + 292 (VLCLibrary.m:132,17 in VLCKit + 21408) [0x1096993a0] 1-14
14 config_GetInt + 88 (core.c:108,5 in VLCKit + 226232) [0x1096cb3b8] 1-14
14 _pthread_rwlock_lock_slow + 708 (libsystem_pthread.dylib + 14724) [0x1ab968984] 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bd83c DispatchQueue "gc_resume_vc5_queue"(6901) 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 376 (libdispatch.dylib + 46980) [0x1ab7af784] 1-14
14 _dispatch_source_invoke + 1596 (libdispatch.dylib + 108768) [0x1ab7be8e0] 1-14
14 _dispatch_continuation_pop + 500 (libdispatch.dylib + 30320) [0x1ab7ab670] 1-14
14 _dispatch_client_callout + 20 (libdispatch.dylib + 16820) [0x1ab7a81b4] 1-14
14 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated> in GlanceCam + 461740) [0x104614bac] 1-14
14 closure #1 in ReloadCoordinator.startPlayback() + 344 (ReloadCoordinator.swift:224,24 in GlanceCam + 237120) [0x1045dde40] 1-14
14 ViewController.integrateSettingsIntoInterface(fromScratch:) + 1452 (ViewController.swift:1260,27 in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfC + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 $sSo14VLCMediaPlayerC7optionsABSayypG_tcfcTO + 40 (<compiler-generated> in GlanceCam + 161456) [0x1045cb6b0] 1-14
14 -[VLCMediaPlayer(Private) initWithDrawable:options:] + 220 (VLCMediaPlayer.m:1499,31 in VLCKit + 69540) [0x1096a4fa4] 1-14
14 -[VLCLibrary initWithOptions:] + 80 (VLCLibrary.m:115,9 in VLCKit + 21088) [0x109699260] 1-14
14 -[VLCLibrary prepareInstanceWithOptions:] + 292 (VLCLibrary.m:132,17 in VLCKit + 21408) [0x1096993a0] 1-14
14 config_GetInt + 88 (core.c:108,5 in VLCKit + 226232) [0x1096cb3b8] 1-14
14 _pthread_rwlock_lock_slow + 708 (libsystem_pthread.dylib + 14724) [0x1ab968984] 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bd83e DispatchQueue "gc_resume_vc6_queue"(6903) 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 376 (libdispatch.dylib + 46980) [0x1ab7af784] 1-14
14 _dispatch_source_invoke + 1596 (libdispatch.dylib + 108768) [0x1ab7be8e0] 1-14
14 _dispatch_continuation_pop + 500 (libdispatch.dylib + 30320) [0x1ab7ab670] 1-14
14 _dispatch_client_callout + 20 (libdispatch.dylib + 16820) [0x1ab7a81b4] 1-14
14 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated> in GlanceCam + 461740) [0x104614bac] 1-14
14 closure #1 in ReloadCoordinator.startPlayback() + 344 (ReloadCoordinator.swift:224,24 in GlanceCam + 237120) [0x1045dde40] 1-14
14 libvlc_media_player_stop_async + 24 (media_player.c:1279,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 lock_input + 12 (media_player.c:122,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 _pthread_mutex_firstfit_lock_slow + 248 (libsystem_pthread.dylib + 7416) [0x1ab966cf8] 1-14
14 __psynch_mutexwait + 8 (libsystem_kernel.dylib + 18232) [0x1ab931738] 1-14
*14 psynch_mtxcontinue + 0 (pthread + 9964) [0xfffffe000a5ad21c] (blocked by turnstile waiting for GlanceCam [92189] [unique pid 2471022] thread 0x6bc8fc) 1-14
Thread 0x6bc97c DispatchQueue "gc_stop_vc2_queue"(6885) 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 668 (libdispatch.dylib + 47272) [0x1ab7af8a8] 1-14
14 _dispatch_client_callout + 20 (libdispatch.dylib + 16820) [0x1ab7a81b4] 1-14
14 _dispatch_call_block_and_release + 32 (libdispatch.dylib + 9712) [0x1ab7a65f0] 1-14
14 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated> in GlanceCam + 461740) [0x104614bac] 1-14
14 libvlc_media_player_stop_async + 24 (media_player.c:1279,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 lock_input + 12 (media_player.c:122,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 _pthread_mutex_firstfit_lock_slow + 248 (libsystem_pthread.dylib + 7416) [0x1ab966cf8] 1-14
14 __psynch_mutexwait + 8 (libsystem_kernel.dylib + 18232) [0x1ab931738] 1-14
*14 psynch_mtxcontinue + 0 (pthread + 9964) [0xfffffe000a5ad21c] (blocked by turnstile waiting for GlanceCam [92189] [unique pid 2471022] thread 0x6bc8cb) 1-14
Thread 0x6bc215 DispatchQueue "gc_stop_vc6_queue"(6889) 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 668 (libdispatch.dylib + 47272) [0x1ab7af8a8] 1-14
14 _dispatch_client_callout + 20 (libdispatch.dylib + 16820) [0x1ab7a81b4] 1-14
14 _dispatch_call_block_and_release + 32 (libdispatch.dylib + 9712) [0x1ab7a65f0] 1-14
14 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated> in GlanceCam + 461740) [0x104614bac] 1-14
14 libvlc_media_player_stop_async + 24 (media_player.c:1279,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 lock_input + 12 (media_player.c:122,5 in VLCKit + 140308) [0x1096b6414] 1-14
14 _pthread_mutex_firstfit_lock_slow + 248 (libsystem_pthread.dylib + 7416) [0x1ab966cf8] 1-14
14 __psynch_mutexwait + 8 (libsystem_kernel.dylib + 18232) [0x1ab931738] 1-14
*14 psynch_mtxcontinue + 0 (pthread + 9964) [0xfffffe000a5ad21c] (blocked by turnstile waiting for GlanceCam [92189] [unique pid 2471022] thread 0x6bc8fc) 1-14
Thread 0x6bd843 DispatchQueue "VLCKit.VLCEventObjectManager.dispatchAfterQueue"(243) 14 samples (1-14) priority 4 (base 4)
<process frontmost, thread QoS background (requested background), process unclamped, thread darwinbg, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 2>
14 start_wqthread + 8 (libsystem_pthread.dylib + 8320) [0x1ab967080] 1-14
14 _pthread_wqthread + 288 (libsystem_pthread.dylib + 13152) [0x1ab968360] 1-14
14 _dispatch_workloop_worker_thread + 648 (libdispatch.dylib + 93336) [0x1ab7bac98] 1-14
14 _dispatch_lane_invoke + 392 (libdispatch.dylib + 50180) [0x1ab7b0404] 1-14
14 _dispatch_lane_serial_drain + 376 (libdispatch.dylib + 46980) [0x1ab7af784] 1-14
14 _dispatch_source_invoke + 1760 (libdispatch.dylib + 108932) [0x1ab7be984] 1-14
14 _dispatch_source_handler_dispose + 36 (libdispatch.dylib + 112844) [0x1ab7bf8cc] 1-14
14 _Block_release + 192 (libsystem_blocks.dylib + 6676) [0x1ab692a14] 1-14
14 __destroy_helper_block_e8_32s40s + 24 (VLCLibrary.m in VLCKit + 24892) [0x10969a13c] 1-14
14 libvlc_media_player_destroy + 232 (media_player.c:915,5 in VLCKit + 137240) [0x1096b5818] 1-14
14 __ulock_wait + 8 (libsystem_kernel.dylib + 14388) [0x1ab930834] 1-14
*14 ??? (kernel.release.t8101 + 6147212) [0xfffffe0007e78c8c] (blocked by turnstile waiting for GlanceCam [92189] [unique pid 2471022] thread 0x6bc8b8) 1-14
Thread 0x6868aa Thread name "AMCP Logging Spool" 14 samples (1-14) priority 19 (base 19)
<process frontmost, thread QoS utility (requested utility), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 1>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 _pthread_start + 148 (libsystem_pthread.dylib + 29292) [0x1ab96c26c] 1-14
14 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 96 (caulk + 9164) [0x1b43c53cc] 1-14
14 caulk::concurrent::details::worker_thread::run() + 56 (caulk + 10156) [0x1b43c57ac] 1-14
14 semaphore_wait_trap + 8 (libsystem_kernel.dylib + 6380) [0x1ab92e8ec] 1-14
*14 ??? (kernel.release.t8101 + 612132) [0xfffffe0007931724] 1-14
Thread 0x6868c5 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 Thread + 196 (thread.c:494,13 in VLCKit + 264140) [0x1096d47cc] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6868d4 Thread name "com.apple.NSEventThread" 14 samples (1-14) priority 47 (base 47) cpu time 0.019s (38.8M cycles, 18.6M instructions, 2.08c/i)
<process frontmost, thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 _pthread_start + 148 (libsystem_pthread.dylib + 29292) [0x1ab96c26c] 1-14
14 _NSEventThread + 196 (AppKit + 1761536) [0x1ae70b100] 1-14
14 CFRunLoopRunSpecific + 600 (CoreFoundation + 535172) [0x1aba36a84] 1-14
13 __CFRunLoopRun + 1180 (CoreFoundation + 538304) [0x1aba376c0] 1-13
13 __CFRunLoopServiceMachPort + 372 (CoreFoundation + 545296) [0x1aba39210] 1-13
13 mach_msg_trap + 8 (libsystem_kernel.dylib + 6320) [0x1ab92e8b0] 1-13
*13 ??? (kernel.release.t8101 + 224136) [0xfffffe00078d2b88] 1-13
1 __CFRunLoopRun + 2372 (CoreFoundation + 539496) [0x1aba37b68] 14
1 __CFRunLoopDoSource1 + 604 (CoreFoundation + 546516) [0x1aba396d4] 14
1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 (CoreFoundation + 546840) [0x1aba39818] 14
1 __CFMachPortPerform + 260 (CoreFoundation + 743364) [0x1aba697c4] 14
1 MessageHandler(__CFMachPort*, void*, long, void*) + 60 (HIToolbox + 257804) [0x1b4682f0c] 14
1 PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*) + 312 (HIToolbox + 258176) [0x1b4683080] 14
1 SLEventCreateNextEvent + 16 (SkyLight + 1218812) [0x1b0c478fc] 14
1 SLSGetNextEventRecordInternal + 328 (SkyLight + 3155144) [0x1b0e204c8] 14
1 CGSSnarfAndDispatchDatagrams + 164 (SkyLight + 44124) [0x1b0b28c5c] 14
1 mach_msg_trap + 8 (libsystem_kernel.dylib + 6320) [0x1ab92e8b0] 14
*1 ??? (kernel.release.t8101 + 224136) [0xfffffe00078d2b88] (blocked by turnstile waiting for WindowServer [410] after 2 hops) 14
Thread 0x6bc8b7 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 Thread + 196 (thread.c:494,13 in VLCKit + 264140) [0x1096d47cc] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8b8 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 config_GetPsz + 84 (core.c:172,5 in VLCKit + 226624) [0x1096cb540] 1-14
14 _pthread_rwlock_lock_slow + 708 (libsystem_pthread.dylib + 14724) [0x1ab968984] 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc8bf 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8c0 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc8ca 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8cb 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_wrlock + 8 (libsystem_kernel.dylib + 28596) [0x1ab933fb4] 1-14
*14 psynch_rw_wrcontinue + 0 (pthread + 21132) [0xfffffe000a5afdbc] 1-14
Thread 0x6bc8d9 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8da 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8e1 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8e2 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8e5 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8e6 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc8ed 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (532.7K cycles, 136.1K instructions, 3.91c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8f7 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (481.1K cycles, 152.5K instructions, 3.16c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8fa 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc8fb 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc8fc 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_wrlock + 8 (libsystem_kernel.dylib + 28596) [0x1ab933fb4] 1-14
*14 psynch_rw_wrcontinue + 0 (pthread + 21132) [0xfffffe000a5afdbc] 1-14
Thread 0x6bc8ff 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (601.6K cycles, 149.8K instructions, 4.02c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc906 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc907 14 samples (1-14) priority 31 (base 31)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bc92f 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (581.6K cycles, 170.0K instructions, 3.42c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc941 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (526.9K cycles, 143.8K instructions, 3.66c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bc961 14 samples (1-14) priority 31 (base 31) cpu time <0.001s (536.2K cycles, 135.4K instructions, 3.96c/i)
<process frontmost, thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 thread_start + 8 (libsystem_pthread.dylib + 8332) [0x1ab96708c] 1-14
14 vlc_cond_timedwait + 164 (thread.c:291,15 in VLCKit + 636752) [0x10972f750] 1-14
14 __psynch_cvwait + 8 (libsystem_kernel.dylib + 21104) [0x1ab932270] 1-14
*14 psynch_cvcontinue + 0 (pthread + 17956) [0xfffffe000a5af154] 1-14
Thread 0x6bd580 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_mutexwait + 8 (libsystem_kernel.dylib + 18232) [0x1ab931738] 1-14
*14 psynch_mtxcontinue + 0 (pthread + 9964) [0xfffffe000a5ad21c] (blocked by turnstile waiting for GlanceCam [92189] [unique pid 2471022] thread 0x6bc8cb) 1-14
Thread 0x6bd581 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bd839 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Thread 0x6bd844 14 samples (1-14) priority 37 (base 37)
<process frontmost, thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [410], process received importance donation from distnoted [663], IO tier 0>
14 <truncated backtrace> 1-14
14 __psynch_rw_rdlock + 8 (libsystem_kernel.dylib + 28684) [0x1ab93400c] 1-14
*14 psynch_rw_rdcontinue + 0 (pthread + 21388) [0xfffffe000a5afebc] 1-14
Binary Images:
0x1045a4000 - 0x1046dbfff com.cdf1982.GlanceCam 3.5 (3991) <42468371-E3C9-3AF3-8F7A-A5A27EA8BD2D> /Applications/GlanceCam.app/Contents/MacOS/GlanceCam
0x104928000 - 0x1049a3fff dyld (960) <38EE9FE9-B66D-3066-8C5C-6DDF0D6944C6> /usr/lib/dyld
0x109694000 - 0x10bddbfff org.videolan.vlckitframework 0.1 (0.1) <22F9A430-5CA3-3985-8763-E98E59E0DB5B> /Users/USER/Library/Developer/Xcode/DerivedData/GlanceCam-fqwbafzndfwedhbqhjaybhbanodi/Build/Products/Debug/VLCKit.framework/Versions/A/VLCKit
0x1ab691000 - 0x1ab692fff libsystem_blocks.dylib (79.1) <96462BD5-6BB4-3B69-89C9-2C70FA8852E7> /usr/lib/system/libsystem_blocks.dylib
0x1ab7a4000 - 0x1ab7eafff libdispatch.dylib (1325.120.2) <B3C7A004-1069-3171-B630-2C386A8B399C> /usr/lib/system/libdispatch.dylib
0x1ab92d000 - 0x1ab964fff libsystem_kernel.dylib (8020.140.49) <A9D87740-9C1D-3468-BF60-720A8D713CBA> /usr/lib/system/libsystem_kernel.dylib
0x1ab965000 - 0x1ab971fff libsystem_pthread.dylib (486.100.11) <63C4EEF9-69A5-38B1-996E-8D31B66A051D> /usr/lib/system/libsystem_pthread.dylib
0x1ab9b4000 - 0x1abefafff com.apple.CoreFoundation 6.9 (1866) <FC3C193D-0CDB-3569-9F0E-BD2507CA1DBB> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x1ae55d000 - 0x1af415fff com.apple.AppKit 6.9 (2113.60.148) <5E432F87-5B58-391A-A542-FA2D909DD210> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x1b0b1e000 - 0x1b0ef9fff com.apple.SkyLight 1.600.0 (687) <C0FDF86C-F960-37A3-A380-DB8700D43801> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
0x1b43c3000 - 0x1b43e9fff com.apple.audio.caulk 1.0 (92) <FBAAA1EC-ABBE-3C0D-A491-0DC66EE9D8CE> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
0x1b4644000 - 0x1b4977fff com.apple.HIToolbox 2.1.1 (1114.1) <AAF900BD-BFB6-3AF0-A8D3-E24BBE1D57F5> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
*0xfffffe000789c000 - 0xfffffe0008127fff kernel.release.t8101 (8020.140.49) <3F1E7107-A92C-3B31-83FF-0A353F2B5CD7>__TEXT_EXEC /System/Library/Kernels/kernel.release.t8101
*0xfffffe000a5aab30 - 0xfffffe000a5b0bcb com.apple.kec.pthread 1.0 (1) <A7080899-CF98-3144-9390-CA4364C3EC3E>__TEXT_EXEC /System/Library/Extensions/pthread.kext/Contents/MacOS/pthread
</details>https://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/566Crash on simulator when starting playback for the 2nd time2022-09-24T17:39:15ZFrancois GoudalCrash on simulator when starting playback for the 2nd timeHello,
I'm using VLCKit in a tvOS app to play a live stream over HTTP (HEVC/AAC).
In the AppleTV simulator, If I stop the playback and start it again, the app crashes in a thread running a queue related to OpenGL.
See backtrace below:
``...Hello,
I'm using VLCKit in a tvOS app to play a live stream over HTTP (HEVC/AAC).
In the AppleTV simulator, If I stop the playback and start it again, the app crashes in a thread running a queue related to OpenGL.
See backtrace below:
```
* thread #3, queue = 'com.apple.opengl.cvmDoWork', stop reason = EXC_BAD_ACCESS (code=1, address=0x30)
* frame #0: 0x000000010e75482c libCoreVMClient.dylib`cvmsServerElementBuild + 432
frame #1: 0x000000010e750aec libCoreVMClient.dylib`cvms_element_build_from_source + 132
frame #2: 0x000000010e813680 libCVMSPluginSupport.dylib`cvm_deferred_build_modular(void*) + 396
frame #3: 0x0000000103e58820 libdispatch.dylib`_dispatch_client_callout + 16
frame #4: 0x0000000103e5fa5c libdispatch.dylib`_dispatch_lane_serial_drain + 756
frame #5: 0x0000000103e60710 libdispatch.dylib`_dispatch_lane_invoke + 436
frame #6: 0x0000000103e6c77c libdispatch.dylib`_dispatch_workloop_worker_thread + 820
frame #7: 0x0000000104c3ed58 libsystem_pthread.dylib`_pthread_wqthread + 284
```
I am not myself directly using OpenGL in this app, it really only is a big fullscreen view that gets passed to VLCKit for it to draw inside, so that's why, given that the error relates to OpenGL, I think the crash is caused by VLCKit.
The crash only occurs in the simulator, it works fine on a real tvOS hardware.
I can reproduce it every time, using latest stable VLCKit (3.3.17)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/515MobileVLCKit play MKV crash2021-09-02T15:56:42ZSnailMSMobileVLCKit play MKV crashI used Cocoapods to import MobileVLCKit
When playing a local MKV file, it will probably stop playing the file after the subtitle appears. APP crashI used Cocoapods to import MobileVLCKit
When playing a local MKV file, it will probably stop playing the file after the subtitle appears. APP crashhttps://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)