VIMVideoPlayer
VIMVideoPlayer copied to clipboard
Problem playing private video
I am trying to play a private video with VIMVideoPlayer and I am getting the following back trace after crash - the code is identical to the Saga example app. It even crashes with the saga video link - https://secure-c.vimeocdn.com/p/video/yosemite_hd_ii_hd.mp4. The Saga app plays my private video link.
Any idea why this is happening? I'm thinking there is something off in the setup of libraries. I don't see any libraries set up for Saga like AVFoundation.
(* thread #1: tid = 0x7c7e3, 0x0000000108685519 libc++abi.dylib__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 frame #0: 0x0000000108685519 libc++abi.dylib
cxa_throw
frame #1: 0x00000001234e3755 AudioCodecsACBaseCodec::GetPropertyInfo(unsigned int, unsigned int&, unsigned char&) + 521 frame #2: 0x000000012358a69a AudioCodecs
GetPropertyInfo(void_, unsigned int, unsigned int_, unsigned char_) + 38
frame #3: 0x0000000106fda751 AudioToolboxCodecConverter::CheckInitialize(void const_, unsigned int) + 433 frame #4: 0x0000000106fda3fa AudioToolbox
CodecConverter::CodecConverter(OpaqueAudioComponent&, OpaqueAudioComponentInstance, StreamDescPair const&, StreamDescPair const&, bool, AudioConverterPrimeInfo const&) + 618
frame #5: 0x0000000106fdf6a3 AudioToolboxCodecDecoderFactory::BuildCodecConverterChain(StreamDescPair const&, ChainBuildSettings const&, AudioConverterChain_, PCMConverterFactory_) + 275 frame #6: 0x0000000106fc6b90 AudioToolbox
ConverterRegistry::CreateConverter(StreamDescPair const&, AudioConverterChain**, unsigned int, AudioClassDescription const*) + 272
frame #7: 0x0000000106fb5ae4 AudioToolbox_AudioConverterNewInternal + 340 frame #8: 0x000000010700ba7a AudioToolbox
AudioQueueObject::AudioQueueObject(bool, bool, AudioStreamBasicDescription const&, unsigned int, AQRemoteClient&, AudioQueueOwner*, audit_token_t, unsigned int, int&) + 2314
frame #9: 0x000000010700c35a AudioToolboxAudioQueueObject::AudioQueueObject(bool, bool, AudioStreamBasicDescription const&, unsigned int, AQRemoteClient&, AudioQueueOwner_, audit_token_t, unsigned int, int&) + 74 frame #10: 0x000000010703ce98 AudioToolbox
AQServer_NewQueue + 440
frame #11: 0x0000000107047d15 AudioToolboxAudioQueueNew(bool, AudioStreamBasicDescription const_, TCACallback<void*, void*> const&, CACallbackTarget const&, unsigned int, unsigned int, OpaqueAudioQueue**) + 373 frame #12: 0x0000000107047b91 AudioToolbox
AudioQueueNewOutput + 81
frame #13: 0x0000000110a17ee9 MediaToolboxFigAudioQueueTimingShimNewOutput + 35 frame #14: 0x00000001108fa615 MediaToolbox
subaq_createSubAudioQueue + 637
frame #15: 0x00000001108fa0e4 MediaToolboxFigAudioQueueCreate + 752 frame #16: 0x00000001109a6306 MediaToolbox
FigAudioQueueRenderPipelineCreate + 630
frame #17: 0x000000011095f4ab MediaToolboxfp_buildAudioRenderPipelineForTrack + 894 frame #18: 0x00000001109588cb MediaToolbox
itemfig_rebuildRenderPipelinesAndBoss + 3269
frame #19: 0x0000000110957663 MediaToolboxplayerfig_prepareWorkingItem2 + 151 frame #20: 0x000000011094f8a6 MediaToolbox
playerfig_prepareWorkingItem + 91
frame #21: 0x000000011096467f MediaToolboxitemfig_assetPropertyBatchLoaded_prepareWorkingItem_internal + 137 frame #22: 0x00000001109645e8 MediaToolbox
itemfig_assetPropertyBatchLoaded_prepareWorkingItem + 20
frame #23: 0x000000010847c920 CoreMediafigDeferredNotificationRun + 43 frame #24: 0x0000000107ffe174 CoreFoundation
__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION** + 20
frame #25: 0x0000000107ffdd35 CoreFoundation__CFRunLoopDoTimer + 1045 frame #26: 0x0000000107fbfd3d CoreFoundation
__CFRunLoopRun + 1901
frame #27: 0x0000000107fbf366 CoreFoundationCFRunLoopRunSpecific + 470 frame #28: 0x000000010a5f1a3e GraphicsServices
GSEventRunModal + 161
frame #29: 0x0000000104bb5900 UIKit`UIApplicationMain + 1282
- frame #30: 0x0000000102b7596f BarBook
main(argc=1, argv=0x00007fff5d09f488) + 111 at main.m:15 frame #31: 0x00000001087ef145 libdyld.dylib
start + 1 frame #32: 0x00000001087ef145 libdyld.dylib`start + 1
On the other hand, if I set breakpoints to only catch Objective C exceptions, the private video plays in my app. If I remove all breakpoints, it also works. Is this a good solve? There is a C++ exception being thrown out. Oh well.
Hard to tell from the output you pasted. If you think find it's related to framework inclusion let us know. Although seems like something the compiler would flag upfront.
This seems to be the important line from the output (bolded for emphasis):
libc++abi.dylib__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 frame #0: 0x0000000108685519 libc++abi.dylibcxa_throw