|
@@ -67,19 +67,30 @@ void __catch_exception( void * e, const char * function, const char * file, int
|
|
|
libvlc_exception_t ex;
|
|
|
libvlc_exception_init( &ex );
|
|
|
|
|
|
- const char * lib_vlc_params[] = {
|
|
|
- "-I", "dummy", // No interface
|
|
|
- "--no-video-title-show", // Don't show the title on overlay when starting to play
|
|
|
- "--no-sout-keep",
|
|
|
- "--ignore-config", // Don't read and write VLC config files.
|
|
|
- "--opengl-provider=minimal_macosx", // Use minimal_macosx
|
|
|
- "--vout=minimal_macosx",
|
|
|
- "--verbose=2", // Don't polute the log
|
|
|
- "--play-and-pause" // When ending a stream pause it instead of stopping it.
|
|
|
- //, "--control=motion", "--motion-use-rotate", "--video-filter=rotate"
|
|
|
- };
|
|
|
+ NSArray *vlcParams = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"VLCParams"];
|
|
|
+ if (!vlcParams) {
|
|
|
+ NSMutableArray *defaultParams = [NSMutableArray array];
|
|
|
+ [defaultParams addObject:@"-I"]; [defaultParams addObject:@"dummy"]; // No interface
|
|
|
+ [defaultParams addObject:@"--no-video-title-show"]; // Don't show the title on overlay when starting to play
|
|
|
+ [defaultParams addObject:@"--no-sout-keep"];
|
|
|
+ [defaultParams addObject:@"--ignore-config"]; // Don't read and write VLC config files
|
|
|
+ [defaultParams addObject:@"--opengl-provider=minimal_macosx"]; // Use minimal_macosx
|
|
|
+ [defaultParams addObject:@"--vout=minimal_macosx"];
|
|
|
+ [defaultParams addObject:@"--verbose=2"]; // Don't polute the log
|
|
|
+ [defaultParams addObject:@"--vout=minimal_macosx"];
|
|
|
+ [defaultParams addObject:@"--play-and-pause"]; // When ending a stream pause it instead of stopping it
|
|
|
+ // [defaultParams addObject:@"--control=motion"];
|
|
|
+ // [defaultParams addObject:@"--motion-use-rotate"];
|
|
|
+ // [defaultParams addObject:@"--video-filter=rotate"];
|
|
|
+ vlcParams = defaultParams;
|
|
|
+ }
|
|
|
|
|
|
- instance = (void *)libvlc_new( sizeof(lib_vlc_params)/sizeof(lib_vlc_params[0]), lib_vlc_params, &ex );
|
|
|
+ const char *lib_vlc_params[[vlcParams count]];
|
|
|
+ for (int paramNum = 0; paramNum < [vlcParams count]; paramNum ++) {
|
|
|
+ NSString *vlcParam = [vlcParams objectAtIndex:paramNum];
|
|
|
+ lib_vlc_params[paramNum] = [vlcParam cStringUsingEncoding:NSASCIIStringEncoding];
|
|
|
+ }
|
|
|
+ instance = (void *)libvlc_new([vlcParams count], lib_vlc_params, &ex );
|
|
|
catch_exception( &ex );
|
|
|
NSAssert(instance, @"libvlc failed to initialize");
|
|
|
|