]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/wizard.m
Use pl_Locked and pl_Unlocked
[vlc] / modules / gui / macosx / wizard.m
index 30833a9c5c6f26ff19f0ad6a37345058f4422357..25343046deed3e56994c3274e38cdad9bf0cc7dc 100644 (file)
@@ -1292,17 +1292,19 @@ static VLCWizard *_o_sharedInstance = nil;
                 @"ttl=%@", [o_userSelections objectForKey:@"ttl"]]
                 UTF8String] );
 
+            /* FIXME: playlist_AddInput() can fail */
             playlist_AddInput( p_playlist, p_input, PLAYLIST_STOP,
-                PLAYLIST_END, VLC_TRUE, VLC_FALSE );
+                PLAYLIST_END, true, pl_Unlocked );
 
             if( x == 0 )
             {
                 /* play the first item and add the others afterwards */
-                playlist_item_t *p_item = playlist_ItemGetByInput( p_playlist, p_input, VLC_TRUE );
-                playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, VLC_TRUE, NULL,
+                playlist_item_t *p_item = playlist_ItemGetByInput( p_playlist, p_input, pl_Locked );
+                playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, true, NULL,
                           p_item );
             }
 
+            vlc_gc_decref( p_input );
             x += 1;
         }
 
@@ -1525,28 +1527,56 @@ static VLCWizard *_o_sharedInstance = nil;
                     [o_sap_option appendFormat: @"sap,name=\"%s\"",
                         [[o_userSelections objectForKey:@"sapText"] UTF8String]];
                 }
-                [o_opts_string appendFormat:
-                    @":sout=#%s%sstandard{mux=%s,dst=%s,access=%s,%s}",
-                    [o_duplicateCmd UTF8String], [o_trnscdCmd UTF8String],
-                    [[[o_encapFormats objectAtIndex: [[o_userSelections
-                    objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
-                    UTF8String], [[o_userSelections objectForKey: @"stmgDest"]
-                    UTF8String], [[[o_strmgMthds objectAtIndex: [[o_userSelections
-                    objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0]
-                    UTF8String], [o_sap_option UTF8String]];
+                if( [[o_strmgMthds objectAtIndex: [[o_userSelections objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0] == @"rtp" )
+                {
+                    /* RTP is no access out, but a stream out module */
+                    [o_opts_string appendFormat:
+                                             @":sout=#%s%srtp{mux=%s,dst=%s,%s}",
+                        [o_duplicateCmd UTF8String], [o_trnscdCmd UTF8String],
+                        [[[o_encapFormats objectAtIndex: [[o_userSelections objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
+                            UTF8String], 
+                        [[o_userSelections objectForKey: @"stmgDest"] UTF8String],
+                        [o_sap_option UTF8String]];
+                }
+                else
+                {
+                    [o_opts_string appendFormat:
+                                             @":sout=#%s%sstandard{mux=%s,dst=%s,access=%s,%s}",
+                        [o_duplicateCmd UTF8String], [o_trnscdCmd UTF8String],
+                        [[[o_encapFormats objectAtIndex: [[o_userSelections objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
+                            UTF8String], 
+                        [[o_userSelections objectForKey: @"stmgDest"] UTF8String], 
+                        [[[o_strmgMthds objectAtIndex: [[o_userSelections objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0]
+                            UTF8String], 
+                        [o_sap_option UTF8String]];                    
+                }
             }
             else
             {
                 /* no SAP, just streaming */
-                [o_opts_string appendFormat:
-                    @":sout=#%s%sstandard{mux=%s,dst=%s,access=%s}",
-                    [o_duplicateCmd UTF8String], [o_trnscdCmd UTF8String],
-                    [[[o_encapFormats objectAtIndex: [[o_userSelections
-                    objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
-                    UTF8String], [[o_userSelections objectForKey:
-                    @"stmgDest"] UTF8String], [[[o_strmgMthds objectAtIndex:
-                    [[o_userSelections objectForKey: @"stmgMhd"] intValue]]
-                    objectAtIndex:0] UTF8String]];
+                if( [[o_strmgMthds objectAtIndex: [[o_userSelections objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0] == @"rtp" )
+                {
+                    /* RTP is different from the other protocols, as it isn't provided through an access out module anymore */
+                    [o_opts_string appendFormat:
+                                             @":sout=#%s%srtp{mux=%s,dst=%s}",
+                        [o_duplicateCmd UTF8String], 
+                        [o_trnscdCmd UTF8String],
+                        [[[o_encapFormats objectAtIndex: [[o_userSelections objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
+                            UTF8String], 
+                        [[o_userSelections objectForKey: @"stmgDest"] UTF8String]];
+                }
+                else
+                {
+                    /* all other protocols are cool */
+                    [o_opts_string appendFormat:
+                                             @":sout=#%s%sstandard{mux=%s,dst=%s,access=%s}",
+                        [o_duplicateCmd UTF8String], 
+                        [o_trnscdCmd UTF8String],
+                        [[[o_encapFormats objectAtIndex: [[o_userSelections objectForKey: @"encapFormat"] intValue]] objectAtIndex:0]
+                            UTF8String], 
+                        [[o_userSelections objectForKey: @"stmgDest"] UTF8String], 
+                        [[[o_strmgMthds objectAtIndex: [[o_userSelections objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0] UTF8String]];
+                }
             }
         }