MobileVLCKit RTSP authentication dialog crash
Posted: 23 May 2014 14:44
I'm currently looking at the possibilities of the MobileVLCKit within our iOS app and noticed that whenever a RTSP authentication dialog appears, the app will crash in two situations.
First: Whenever the user taps the cancel button.
Second: When an empty password has been provided and the user then taps the login button.
This crash also happens within the current VLC for iOS app from the AppStore and the demo projects provided within the VLCKit git repo.
Here is the crash message:
The crash happens within this piece of code, when the objectForKey methods are called. It resides within the file dialogProvider.m (MobileVLCKit/ImportedSources/vlc/modules/gui/ios_dialog_provider/dialogProvider.m)
Here is a crash log of the VLC for iOS app:
https://gist.github.com/Lenrocexe/953eed753b0ebf6eb3ef
Hope this helps you with solving the issue.
First: Whenever the user taps the cancel button.
Second: When an empty password has been provided and the user then taps the login button.
This crash also happens within the current VLC for iOS app from the AppStore and the demo projects provided within the VLCKit git repo.
Here is the crash message:
Code: Select all
2014-05-21 16:09:55.442 HomeWizard[40005:4f1f] +[VLCDialogDisplayer objectForKey:]: unrecognized selector sent to class 0x149b96c
2014-05-21 16:09:56.758 HomeWizard[40005:4f1f] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[VLCDialogDisplayer objectForKey:]: unrecognized selector sent to class 0x149b96c'
*** First throw call stack:
(
0 CoreFoundation 0x04fe11e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x04d608e5 objc_exception_throw + 44
2 CoreFoundation 0x0507e0e3 +[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x04fd150b ___forwarding___ + 1019
4 CoreFoundation 0x04fd10ee _CF_forwarding_prep_0 + 14
5 HomeWizard 0x00e4a782 DisplayLogin + 194
6 ??? 0x0f8b9b20 0x0 + 260807456
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Code: Select all
static int DisplayLogin(vlc_object_t *p_this, const char *type, vlc_value_t previous, vlc_value_t value, void *data)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
dialog_login_t *dialog = value.p_address;
intf_thread_t *p_intf = (intf_thread_t*) p_this;
intf_sys_t *sys = p_intf->p_sys;
NSDictionary *dict = [sys->displayer displayLogin:DictFromDialogLogin(dialog)];
if (dict) {
*dialog->username = strdup([[dict objectForKey:@"username"] UTF8String]);
*dialog->password = strdup([[dict objectForKey:@"password"] UTF8String]);
}
[pool release];
return VLC_SUCCESS;
}
https://gist.github.com/Lenrocexe/953eed753b0ebf6eb3ef
Hope this helps you with solving the issue.