[vlc-devel] commit: load vlc config parameters from an array of strings in the ' VLCParams' property in the main bundle's Info.plist (Mike Schrag )

git version control git at videolan.org
Sat Dec 19 17:29:28 CET 2009


vlc | branch: master | Mike Schrag <mschrag at pobox.com> | Fri Dec 18 23:22:21 2009 -0500| [6c3715d283a6fe36e6adede48d8aebb53518aa0c] | committer: Felix Paul Kühne 

load vlc config parameters from an array of strings in the 'VLCParams' property in the main bundle's Info.plist

Signed-off-by: Felix Paul Kühne <fkuehne at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6c3715d283a6fe36e6adede48d8aebb53518aa0c
---

 projects/macosx/framework/Sources/VLCLibrary.m |   35 +++++++++++++++--------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/projects/macosx/framework/Sources/VLCLibrary.m b/projects/macosx/framework/Sources/VLCLibrary.m
index b4c11c7..553c243 100644
--- a/projects/macosx/framework/Sources/VLCLibrary.m
+++ b/projects/macosx/framework/Sources/VLCLibrary.m
@@ -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");
         




More information about the vlc-devel mailing list