[vlc-devel] [PATCH 12/12] Fixed array access in modules/gui/macosx/*

Gleb Pinigin gpinigin at gmail.com
Sun May 12 13:43:01 CEST 2013


What do you intend to fix with all of these patches, what is broken?
On May 12, 2013 6:22 AM, "Benedikt Bergenthal" <benedikt at kdrennert.de>
wrote:

> diff --git a/modules/gui/macosx/AudioEffects.m
> b/modules/gui/macosx/AudioEffects.m
> index 98a0cd8..9a0e59b 100644
> --- a/modules/gui/macosx/AudioEffects.m
> +++ b/modules/gui/macosx/AudioEffects.m
> @@ -308,11 +308,11 @@ static VLCAudioEffects *_o_sharedInstance = nil;
>      vlc_object_t *p_object = VLC_OBJECT(getAout());
>      if (p_object == NULL)
>          p_object = vlc_object_hold(pl_Get(p_intf));
> -    var_SetString(p_object,"equalizer-preset",vlc_b64_decode([items[0]
> UTF8String]));
> +    var_SetString(p_object,"equalizer-preset",vlc_b64_decode([[items
> objectAtIndex:0] UTF8String]));
>      vlc_object_release(p_object);
>
>      /* filter handling */
> -    NSString *tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([items[1] UTF8String])];
> +    NSString *tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([[items objectAtIndex:1] UTF8String])];
>      NSArray *tempArray;
>      NSUInteger count;
>      /* enable the new filters, if we have an aout */
> @@ -321,43 +321,43 @@ static VLCAudioEffects *_o_sharedInstance = nil;
>              tempArray = [tempString componentsSeparatedByString:@":"];
>              count = [tempArray count];
>              for (NSUInteger x = 0; x < count; x++)
> -                playlist_EnableAudioFilter(p_playlist, (char
> *)[tempArray[x] UTF8String], true);
> +                playlist_EnableAudioFilter(p_playlist, (char
> *)[[tempArray objectAtIndex:x] UTF8String], true);
>          }
>      }
>      config_PutPsz(p_intf,"audio-filter",[tempString UTF8String]);
>
>      /* values */
> -    config_PutFloat(p_intf, "compressor-rms-peak",[items[2] floatValue]);
> -    config_PutFloat(p_intf, "compressor-attack",[items[3] floatValue]);
> -    config_PutFloat(p_intf, "compressor-release",[items[4] floatValue]);
> -    config_PutFloat(p_intf, "compressor-threshold",[items[5] floatValue]);
> -    config_PutFloat(p_intf, "compressor-ratio",[items[6] floatValue]);
> -    config_PutFloat(p_intf, "compressor-knee",[items[7] floatValue]);
> -    config_PutFloat(p_intf, "compressor-makeup-gain",[items[8]
> floatValue]);
> -    config_PutFloat(p_intf, "spatializer-roomsize",[items[9] floatValue]);
> -    config_PutFloat(p_intf, "spatializer-width",[items[10] floatValue]);
> -    config_PutFloat(p_intf, "spatializer-wet",[items[11] floatValue]);
> -    config_PutFloat(p_intf, "spatializer-dry",[items[12] floatValue]);
> -    config_PutFloat(p_intf, "spatializer-damp",[items[13] floatValue]);
> -    config_PutFloat(p_intf, "norm-max-level",[items[14] floatValue]);
> -    config_PutInt(p_intf, "equalizer-2pass",[items[15] intValue]);
> +    config_PutFloat(p_intf, "compressor-rms-peak",[[items
> objectAtIndex:2] floatValue]);
> +    config_PutFloat(p_intf, "compressor-attack",[[items objectAtIndex:3]
> floatValue]);
> +    config_PutFloat(p_intf, "compressor-release",[[items objectAtIndex:4]
> floatValue]);
> +    config_PutFloat(p_intf, "compressor-threshold",[[items
> objectAtIndex:5] floatValue]);
> +    config_PutFloat(p_intf, "compressor-ratio",[[items objectAtIndex:6]
> floatValue]);
> +    config_PutFloat(p_intf, "compressor-knee",[[items objectAtIndex:7]
> floatValue]);
> +    config_PutFloat(p_intf, "compressor-makeup-gain",[[items
> objectAtIndex:8] floatValue]);
> +    config_PutFloat(p_intf, "spatializer-roomsize",[[items
> objectAtIndex:9] floatValue]);
> +    config_PutFloat(p_intf, "spatializer-width",[[items objectAtIndex:10]
> floatValue]);
> +    config_PutFloat(p_intf, "spatializer-wet",[[items objectAtIndex:11]
> floatValue]);
> +    config_PutFloat(p_intf, "spatializer-dry",[[items objectAtIndex:12]
> floatValue]);
> +    config_PutFloat(p_intf, "spatializer-damp",[[items objectAtIndex:13]
> floatValue]);
> +    config_PutFloat(p_intf, "norm-max-level",[[items objectAtIndex:14]
> floatValue]);
> +    config_PutInt(p_intf, "equalizer-2pass",[[items objectAtIndex:15]
> intValue]);
>
>      /* set values on-the-fly if we have an aout */
>      if (p_aout) {
> -        var_SetFloat(p_aout, "compressor-rms-peak", [items[2]
> floatValue]);
> -        var_SetFloat(p_aout, "compressor-attack", [items[3] floatValue]);
> -        var_SetFloat(p_aout, "compressor-release", [items[4] floatValue]);
> -        var_SetFloat(p_aout, "compressor-threshold", [items[5]
> floatValue]);
> -        var_SetFloat(p_aout, "compressor-ratio", [items[6] floatValue]);
> -        var_SetFloat(p_aout, "compressor-knee", [items[7] floatValue]);
> -        var_SetFloat(p_aout, "compressor-makeup-gain", [items[8]
> floatValue]);
> -        var_SetFloat(p_aout, "spatializer-roomsize", [items[9]
> floatValue]);
> -        var_SetFloat(p_aout, "spatializer-width", [items[10] floatValue]);
> -        var_SetFloat(p_aout, "spatializer-wet", [items[11] floatValue]);
> -        var_SetFloat(p_aout, "spatializer-dry", [items[12] floatValue]);
> -        var_SetFloat(p_aout, "spatializer-damp", [items[13] floatValue]);
> -        var_SetFloat(p_aout, "norm-max-level", [items[14] floatValue]);
> -        var_SetBool(p_aout, "equalizer-2pass", (BOOL)[items[15]
> intValue]);
> +        var_SetFloat(p_aout, "compressor-rms-peak", [[items
> objectAtIndex:2] floatValue]);
> +        var_SetFloat(p_aout, "compressor-attack", [[items
> objectAtIndex:3] floatValue]);
> +        var_SetFloat(p_aout, "compressor-release", [[items
> objectAtIndex:4] floatValue]);
> +        var_SetFloat(p_aout, "compressor-threshold", [[items
> objectAtIndex:5] floatValue]);
> +        var_SetFloat(p_aout, "compressor-ratio", [[items objectAtIndex:6]
> floatValue]);
> +        var_SetFloat(p_aout, "compressor-knee", [[items objectAtIndex:7]
> floatValue]);
> +        var_SetFloat(p_aout, "compressor-makeup-gain", [[items
> objectAtIndex:8] floatValue]);
> +        var_SetFloat(p_aout, "spatializer-roomsize", [[items
> objectAtIndex:9] floatValue]);
> +        var_SetFloat(p_aout, "spatializer-width", [[items
> objectAtIndex:10] floatValue]);
> +        var_SetFloat(p_aout, "spatializer-wet", [[items objectAtIndex:11]
> floatValue]);
> +        var_SetFloat(p_aout, "spatializer-dry", [[items objectAtIndex:12]
> floatValue]);
> +        var_SetFloat(p_aout, "spatializer-damp", [[items
> objectAtIndex:13] floatValue]);
> +        var_SetFloat(p_aout, "norm-max-level", [[items objectAtIndex:14]
> floatValue]);
> +        var_SetBool(p_aout, "equalizer-2pass", (BOOL)[[items
> objectAtIndex:15] intValue]);
>      }
>
>      /* update UI */
> @@ -365,7 +365,7 @@ static VLCAudioEffects *_o_sharedInstance = nil;
>          [o_eq_enable_ckb setState:NSOffState];
>      else
>          [o_eq_enable_ckb setState:NSOnState];
> -    [o_eq_twopass_ckb setState:[items[15] intValue]];
> +    [o_eq_twopass_ckb setState:[[items objectAtIndex:15] intValue]];
>      [self resetCompressor];
>      [self resetSpatializer];
>      [self resetAudioFilters];
> @@ -532,7 +532,7 @@ static bool GetEqualizerStatus(intf_thread_t
> *p_custom_intf,
>      NSArray *values = [preset componentsSeparatedByString:@" "];
>      NSUInteger count = [values count];
>      for (NSUInteger x = 0; x < count; x++)
> -        [self setValue:[values[x] floatValue] forSlider:x];
> +        [self setValue:[[values objectAtIndex:x] floatValue] forSlider:x];
>  }
>
>  - (NSString *)generatePresetString
> diff --git a/modules/gui/macosx/ConvertAndSave.m
> b/modules/gui/macosx/ConvertAndSave.m
> index 5b39723..910fe8c 100644
> --- a/modules/gui/macosx/ConvertAndSave.m
> +++ b/modules/gui/macosx/ConvertAndSave.m
> @@ -238,9 +238,9 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>      [_customize_aud_samplerate_pop removeAllItems];
>      [_customize_subs_pop removeAllItems];
>
> -    [_customize_vid_codec_pop addItemsWithTitles:_videoCodecs[0]];
> -    [_customize_aud_codec_pop addItemsWithTitles:_audioCodecs[0]];
> -    [_customize_subs_pop addItemsWithTitles:_subsCodecs[0]];
> +    [_customize_vid_codec_pop addItemsWithTitles:[_videoCodecs
> objectAtIndex:0]];
> +    [_customize_aud_codec_pop addItemsWithTitles:[_audioCodecs
> objectAtIndex:0]];
> +    [_customize_subs_pop addItemsWithTitles:[_subsCodecs
> objectAtIndex:0]];
>
>      [_customize_aud_samplerate_pop addItemWithTitle:@"8000"];
>      [_customize_aud_samplerate_pop addItemWithTitle:@"11025"];
> @@ -259,7 +259,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>
>      [_ok_btn setEnabled: NO];
>
> -    [self resetCustomizationSheetBasedOnProfile:self.profileValueList[0]];
> +    [self resetCustomizationSheetBasedOnProfile:[self.profileValueList
> objectAtIndex:0]];
>  }
>
>  # pragma mark -
> @@ -277,7 +277,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>  {
>      if (b_streaming) {
>          if ([[[_stream_type_pop selectedItem] title] isEqualToString:@"HTTP"])
> {
> -            NSString *muxformat = self.currentProfile[0];
> +            NSString *muxformat = [self.currentProfile objectAtIndex:0];
>              if ([muxformat isEqualToString:@"wav"] || [muxformat
> isEqualToString:@"mov"] || [muxformat isEqualToString:@"mp4"] ||
> [muxformat isEqualToString:@"mkv"]) {
>                  NSBeginInformationalAlertSheet(_NS("Invalid container
> format for HTTP streaming"), _NS("OK"), @"", @"", _window,
>                                                 nil, nil, nil, nil,
> @@ -339,7 +339,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>  {
>      NSUInteger index = [_profile_pop indexOfSelectedItem];
>      if (index < ([self.profileValueList count] - 1))
> -        [self
> resetCustomizationSheetBasedOnProfile:self.profileValueList[index]];
> +        [self
> resetCustomizationSheetBasedOnProfile:[self.profileValueList
> objectAtIndex:index]];
>  }
>
>  - (IBAction)customizeProfile:(id)sender
> @@ -551,7 +551,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>              NSArray *values = [[paste propertyListForType:
> NSFilenamesPboardType] sortedArrayUsingSelector:@selector
> (caseInsensitiveCompare:)];
>
>              if ([values count] > 0) {
> -                [self setMRL: @(vlc_path2uri([values[0] UTF8String],
> NULL))];
> +                [self setMRL: @(vlc_path2uri([[values objectAtIndex:0]
> UTF8String], NULL))];
>                  [self updateOKButton];
>                  [self updateDropView];
>                  return YES;
> @@ -566,7 +566,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>                  PL_LOCK;
>                  /* let's look for the first proper input item */
>                  for (NSUInteger x = 0; x < count; x++) {
> -                    p_item = [array[x] pointerValue];
> +                    p_item = [[array objectAtIndex:x] pointerValue];
>                      if (p_item) {
>                          if (p_item->p_input) {
>                              if (p_item->p_input->psz_uri != nil) {
> @@ -692,57 +692,57 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>          return;
>      }
>
> -    [self selectCellByEncapsulationFormat:components[0]];
> -    [_customize_vid_ckb setState:[components[1] intValue]];
> -    [_customize_aud_ckb setState:[components[2] intValue]];
> -    [_customize_subs_ckb setState:[components[3] intValue]];
> -    [self setVidBitrate:[components[5] intValue]];
> -    [_customize_vid_scale_pop selectItemWithTitle:components[6]];
> -    [self setVidFramerate:[components[7] intValue]];
> -    [_customize_vid_width_fld setStringValue:components[8]];
> -    [_customize_vid_height_fld setStringValue:components[9]];
> -    [self setAudBitrate:[components[11] intValue]];
> -    [self setAudChannels:[components[12] intValue]];
> -    [_customize_aud_samplerate_pop selectItemWithTitle:components[13]];
> -    [_customize_subs_overlay_ckb setState:[components[15] intValue]];
> +    [self selectCellByEncapsulationFormat:[components objectAtIndex:0]];
> +    [_customize_vid_ckb setState:[[components objectAtIndex:1] intValue]];
> +    [_customize_aud_ckb setState:[[components objectAtIndex:2] intValue]];
> +    [_customize_subs_ckb setState:[[components objectAtIndex:3]
> intValue]];
> +    [self setVidBitrate:[[components objectAtIndex:5] intValue]];
> +    [_customize_vid_scale_pop selectItemWithTitle:[components
> objectAtIndex:6]];
> +    [self setVidFramerate:[[components objectAtIndex:7] intValue]];
> +    [_customize_vid_width_fld setStringValue:[components
> objectAtIndex:8]];
> +    [_customize_vid_height_fld setStringValue:[components
> objectAtIndex:9]];
> +    [self setAudBitrate:[[components objectAtIndex:11] intValue]];
> +    [self setAudChannels:[[components objectAtIndex:12] intValue]];
> +    [_customize_aud_samplerate_pop selectItemWithTitle:[components
> objectAtIndex:13]];
> +    [_customize_subs_overlay_ckb setState:[[components objectAtIndex:15]
> intValue]];
>
>      /* since there is no proper lookup mechanism in arrays, we need to
> implement a string specific one ourselves */
> -    NSArray * tempArray = _videoCodecs[1];
> +    NSArray * tempArray = [_videoCodecs objectAtIndex:1];
>      NSUInteger count = [tempArray count];
> -    NSString * searchString = components[4];
> +    NSString * searchString = [components objectAtIndex:4];
>      if ([searchString isEqualToString:@"none"] || [searchString
> isEqualToString:@"0"]) {
>          [_customize_vid_codec_pop selectItemAtIndex:-1];
>      } else {
>          for (NSUInteger x = 0; x < count; x++) {
> -            if ([tempArray[x] isEqualToString: searchString]) {
> +            if ([[tempArray objectAtIndex:x] isEqualToString:
> searchString]) {
>                  [_customize_vid_codec_pop selectItemAtIndex:x];
>                  break;
>              }
>          }
>      }
>
> -    tempArray = _audioCodecs[1];
> +    tempArray = [_audioCodecs objectAtIndex:1];
>      count = [tempArray count];
> -    searchString = components[10];
> +    searchString = [components objectAtIndex:10];
>      if ([searchString isEqualToString:@"none"] || [searchString
> isEqualToString:@"0"]) {
>          [_customize_aud_codec_pop selectItemAtIndex:-1];
>      } else {
>          for (NSUInteger x = 0; x < count; x++) {
> -            if ([tempArray[x] isEqualToString: searchString]) {
> +            if ([[tempArray objectAtIndex:x] isEqualToString:
> searchString]) {
>                  [_customize_aud_codec_pop selectItemAtIndex:x];
>                  break;
>              }
>          }
>      }
>
> -    tempArray = _subsCodecs[1];
> +    tempArray = [_subsCodecs objectAtIndex:1];
>      count = [tempArray count];
> -    searchString = components[14];
> +    searchString = [components objectAtIndex:14];
>      if ([searchString isEqualToString:@"none"] || [searchString
> isEqualToString:@"0"]) {
>          [_customize_subs_pop selectItemAtIndex:-1];
>      } else {
>          for (NSUInteger x = 0; x < count; x++) {
> -            if ([tempArray[x] isEqualToString: searchString]) {
> +            if ([[tempArray objectAtIndex:x] isEqualToString:
> searchString]) {
>                  [_customize_subs_pop selectItemAtIndex:x];
>                  break;
>              }
> @@ -861,47 +861,47 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>  - (NSString *)composedOptions
>  {
>      NSMutableString *composedOptions = [[NSMutableString alloc]
> initWithString:@":sout=#transcode{"];
> -    if ([self.currentProfile[1] intValue]) {
> +    if ([[self.currentProfile objectAtIndex:1] intValue]) {
>          // video is enabled
> -        [composedOptions appendFormat:@"vcodec=%@",
> self.currentProfile[4]];
> -        if (![self.currentProfile[4] isEqualToString:@"none"]) {
> -            if ([self.currentProfile[5] intValue] > 0) // bitrate
> -                [composedOptions appendFormat:@",vb=%@",
> self.currentProfile[5]];
> -            if ([self.currentProfile[6] floatValue] > 0.) // scale
> -                [composedOptions appendFormat:@",scale=%@",
> self.currentProfile[6]];
> -            if ([self.currentProfile[7] floatValue] > 0.) // fps
> -                [composedOptions appendFormat:@",fps=%@",
> self.currentProfile[7]];
> -            if ([self.currentProfile[8] intValue] > 0) // width
> -                [composedOptions appendFormat:@",width=%@",
> self.currentProfile[8]];
> -            if ([self.currentProfile[9] intValue] > 0) // height
> -                [composedOptions appendFormat:@",height=%@",
> self.currentProfile[9]];
> +        [composedOptions appendFormat:@"vcodec=%@", [self.currentProfile
> objectAtIndex:4]];
> +        if (![[self.currentProfile objectAtIndex:4] isEqualToString:@"none"])
> {
> +            if ([[self.currentProfile objectAtIndex:5] intValue] > 0) //
> bitrate
> +                [composedOptions appendFormat:@",vb=%@",
> [self.currentProfile objectAtIndex:5]];
> +            if ([[self.currentProfile objectAtIndex:6] floatValue] > 0.)
> // scale
> +                [composedOptions appendFormat:@",scale=%@",
> [self.currentProfile objectAtIndex:6]];
> +            if ([[self.currentProfile objectAtIndex:7] floatValue] > 0.)
> // fps
> +                [composedOptions appendFormat:@",fps=%@",
> [self.currentProfile objectAtIndex:7]];
> +            if ([[self.currentProfile objectAtIndex:8] intValue] > 0) //
> width
> +                [composedOptions appendFormat:@",width=%@",
> [self.currentProfile objectAtIndex:8]];
> +            if ([[self.currentProfile objectAtIndex:9] intValue] > 0) //
> height
> +                [composedOptions appendFormat:@",height=%@",
> [self.currentProfile objectAtIndex:9]];
>          }
>      }
> -    if ([self.currentProfile[2] intValue]) {
> +    if ([[self.currentProfile objectAtIndex:2] intValue]) {
>          // audio is enabled
>
>          // add another comma in case video is enabled
> -        if ([self.currentProfile[1] intValue])
> +        if ([[self.currentProfile objectAtIndex:1] intValue])
>              [composedOptions appendString:@","];
>
> -        [composedOptions appendFormat:@"acodec=%@",
> self.currentProfile[10]];
> -        if (![self.currentProfile[10] isEqualToString:@"none"]) {
> -            [composedOptions appendFormat:@",ab=%@",
> self.currentProfile[11]]; // bitrate
> -            [composedOptions appendFormat:@",channels=%@",
> self.currentProfile[12]]; // channel number
> -            [composedOptions appendFormat:@",samplerate=%@",
> self.currentProfile[13]]; // sample rate
> +        [composedOptions appendFormat:@"acodec=%@", [self.currentProfile
> objectAtIndex:10]];
> +        if (![[self.currentProfile objectAtIndex:10] isEqualToString:@"none"])
> {
> +            [composedOptions appendFormat:@",ab=%@",
> [self.currentProfile objectAtIndex:11]]; // bitrate
> +            [composedOptions appendFormat:@",channels=%@",
> [self.currentProfile objectAtIndex:12]]; // channel number
> +            [composedOptions appendFormat:@",samplerate=%@",
> [self.currentProfile objectAtIndex:13]]; // sample rate
>          }
>      }
> -    if (self.currentProfile[3]) {
> +    if ([self.currentProfile objectAtIndex:3]) {
>          // subtitles enabled
> -        [composedOptions appendFormat:@",scodec=%@",
> self.currentProfile[14]];
> -        if ([self.currentProfile[15] intValue])
> +        [composedOptions appendFormat:@",scodec=%@",
> [self.currentProfile objectAtIndex:14]];
> +        if ([[self.currentProfile objectAtIndex:15] intValue])
>              [composedOptions appendFormat:@",soverlay"];
>      }
>
>      if (!b_streaming) {
>          /* file transcoding */
>          // add muxer
> -        [composedOptions appendFormat:@"}:standard{mux=%@",
> self.currentProfile[0]];
> +        [composedOptions appendFormat:@"}:standard{mux=%@",
> [self.currentProfile objectAtIndex:0]];
>
>          // add output destination
>          [composedOptions appendFormat:@",access=file{no-overwrite},dst=%@}",
> _outputDestination];
> @@ -914,7 +914,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>          else if ([[[_stream_type_pop selectedItem] title]
> isEqualToString:@"MMSH"])
>              [composedOptions appendFormat:@":standard{mux=asfh,dst=%@,port=%@,access=mmsh",
> _outputDestination, [_stream_port_fld stringValue]];
>          else
> -            [composedOptions appendFormat:@":standard{mux=%@,dst=%@,port=%@,access=http",
> self.currentProfile[0], [_stream_port_fld stringValue], _outputDestination];
> +            [composedOptions appendFormat:@":standard{mux=%@,dst=%@,port=%@,access=http",
> [self.currentProfile objectAtIndex:0], [_stream_port_fld stringValue],
> _outputDestination];
>
>          if ([_stream_sap_ckb state])
>              [composedOptions appendFormat:@",sap,name=\"%@\"",
> [_stream_channel_fld stringValue]];
> @@ -954,7 +954,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>      [self.currentProfile addObject: [NSString stringWithFormat:@"%li",
> [_customize_subs_ckb state]]];
>      i = [_customize_vid_codec_pop indexOfSelectedItem];
>      if (i >= 0)
> -        [self.currentProfile addObject: _videoCodecs[1][i]];
> +        [self.currentProfile addObject: [[_videoCodecs objectAtIndex:1]
> objectAtIndex:i]];
>      else
>          [self.currentProfile addObject: @"none"];
>      [self.currentProfile addObject: [NSString stringWithFormat:@"%i",
> [self vidBitrate]]];
> @@ -964,7 +964,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>      [self.currentProfile addObject: [NSString stringWithFormat:@"%i",
> [_customize_vid_height_fld intValue]]];
>      i = [_customize_aud_codec_pop indexOfSelectedItem];
>      if (i >= 0)
> -        [self.currentProfile addObject: _audioCodecs[1][i]];
> +        [self.currentProfile addObject: [[_audioCodecs objectAtIndex:1]
> objectAtIndex:i]];
>      else
>          [self.currentProfile addObject: @"none"];
>      [self.currentProfile addObject: [NSString stringWithFormat:@"%i",
> [self audBitrate]]];
> @@ -972,7 +972,7 @@ static VLCConvertAndSave *_o_sharedInstance = nil;
>      [self.currentProfile addObject: [[_customize_aud_samplerate_pop
> selectedItem] title]];
>      i = [_customize_subs_pop indexOfSelectedItem];
>      if (i >= 0)
> -        [self.currentProfile addObject: _subsCodecs[1][i]];
> +        [self.currentProfile addObject: [[_subsCodecs objectAtIndex:1]
> objectAtIndex:i]];
>      else
>          [self.currentProfile addObject: @"none"];
>      [self.currentProfile addObject: [NSString stringWithFormat:@"%li",
> [_customize_subs_overlay_ckb state]]];
> diff --git a/modules/gui/macosx/MainWindowTitle.m
> b/modules/gui/macosx/MainWindowTitle.m
> index 883a6c6..e95f921 100644
> --- a/modules/gui/macosx/MainWindowTitle.m
> +++ b/modules/gui/macosx/MainWindowTitle.m
> @@ -411,7 +411,7 @@
>  }
>
>  - (NSNumber*)extendedAccessibilityIsAttributeSettable:
> (NSString*)theAttributeName {
> -    return ([theAttributeName isEqualToString:
> NSAccessibilitySubroleAttribute] ? @NO : nil); // make the Subrole
> attribute we added non-settable
> +    return ([theAttributeName isEqualToString:
> NSAccessibilitySubroleAttribute] ? NO : nil); // make the Subrole attribute
> we added non-settable
>  }
>
>  - (void)accessibilityPerformAction: (NSString*)theActionName {
> @@ -493,7 +493,7 @@
>      for (NSUInteger i = count - 1; i > 0; i--) {
>          currentPath = [NSMutableString stringWithCapacity:1024];
>          for (NSUInteger y = 0; y < i; y++)
> -            [currentPath appendFormat: @"/%@", pathComponents[y + 1]];
> +            [currentPath appendFormat: @"/%@", [pathComponents
> objectAtIndex:(y + 1)]];
>
>          [contextMenu addItemWithTitle: [[NSFileManager defaultManager]
> displayNameAtPath: currentPath] action:@selector(revealInFinder:)
> keyEquivalent:@""];
>          currentItem = [contextMenu itemAtIndex:[contextMenu
> numberOfItems] - 1];
> @@ -504,7 +504,7 @@
>          [currentItem setImage: icon];
>      }
>
> -    if ([pathComponents[1] isEqualToString:@"Volumes"]) {
> +    if ([[pathComponents objectAtIndex:1] isEqualToString:@"Volumes"]) {
>          /* we don't want to show the Volumes item, since the Cocoa does
> it neither */
>          currentItem = [contextMenu itemWithTitle:[[NSFileManager
> defaultManager] displayNameAtPath: @"/Volumes"]];
>          if (currentItem)
> @@ -559,11 +559,11 @@
>      selectedItem = count - selectedItem;
>
>      /* fix for non-startup volumes */
> -    if ([pathComponents[1] isEqualToString:@"Volumes"])
> +    if ([[pathComponents objectAtIndex:1] isEqualToString:@"Volumes"])
>          selectedItem += 1;
>
>      for (NSUInteger y = 1; y < selectedItem; y++)
> -        [currentPath appendFormat: @"/%@", pathComponents[y]];
> +        [currentPath appendFormat: @"/%@", [pathComponents
> objectAtIndex:y]];
>
>      [[NSWorkspace sharedWorkspace] selectFile: currentPath
> inFileViewerRootedAtPath: currentPath];
>  }
> diff --git a/modules/gui/macosx/PXSourceList.m
> b/modules/gui/macosx/PXSourceList.m
> index 1ee3daf..cac5c04 100644
> --- a/modules/gui/macosx/PXSourceList.m
> +++ b/modules/gui/macosx/PXSourceList.m
> @@ -725,7 +725,7 @@ NSString * const
> PXSLDeleteKeyPressedOnRowsNotification = @"PXSourceListDeleteKe
>      NSInteger row = [self rowForItem:item];
>
>      //Return the default table column
> -    return [[self tableColumns][0] dataCellForRow:row];
> +    return [[[self tableColumns] objectAtIndex:0] dataCellForRow:row];
>  }
>
>  - (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell
> forTableColumn:(NSTableColumn *)tableColumn item:(id)item
> diff --git a/modules/gui/macosx/VLCVoutWindowController.m
> b/modules/gui/macosx/VLCVoutWindowController.m
> index 7af4dda..a9fa75f 100644
> --- a/modules/gui/macosx/VLCVoutWindowController.m
> +++ b/modules/gui/macosx/VLCVoutWindowController.m
> @@ -165,7 +165,7 @@
>          // cascade windows if we have more than one vout
>          if (b_multiple_vout_windows) {
>              if ([o_vout_dict count] == 1) {
> -                NSWindow * o_first_window = [o_vout_dict objectForKey:
> [o_vout_dict allKeys][0]];
> +                NSWindow * o_first_window = [o_vout_dict objectForKey:
> [[o_vout_dict allKeys] objectAtIndex:0]];
>
>                  NSPoint topleftbase = NSMakePoint(0, [o_first_window
> frame].size.height);
>                  top_left_point = [o_first_window convertBaseToScreen:
> topleftbase];
> diff --git a/modules/gui/macosx/VideoEffects.m
> b/modules/gui/macosx/VideoEffects.m
> index 45e0168..ee15391 100644
> --- a/modules/gui/macosx/VideoEffects.m
> +++ b/modules/gui/macosx/VideoEffects.m
> @@ -761,7 +761,7 @@ static VLCVideoEffects *_o_sharedInstance = nil;
>      NSArray *items = [[defaults objectForKey:@"VideoEffectProfiles"][selectedProfile]
> componentsSeparatedByString:@";"];
>
>      /* filter handling */
> -    NSString *tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([items[0] UTF8String])];
> +    NSString *tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([[items objectAtIndex:0] UTF8String])];
>      NSArray *tempArray;
>      NSUInteger count;
>      /* enable the new filters */
> @@ -769,61 +769,61 @@ static VLCVideoEffects *_o_sharedInstance = nil;
>          tempArray = [tempString componentsSeparatedByString:@":"];
>          count = [tempArray count];
>          for (NSUInteger x = 0; x < count; x++)
> -            [self setVideoFilter:(char *)[tempArray[x] UTF8String]
> on:YES];
> +            [self setVideoFilter:(char *)[[tempArray objectAtIndex:x]
> UTF8String] on:YES];
>      }
>      config_PutPsz(p_intf, "video-filter", [tempString UTF8String]);
>
> -    tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([items[1] UTF8String])];
> +    tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([[items objectAtIndex:1] UTF8String])];
>      /* enable another round of new filters */
>      if ([tempString length] > 0) {
>          tempArray = [tempString componentsSeparatedByString:@":"];
>          count = [tempArray count];
>          for (NSUInteger x = 0; x < count; x++)
> -            [self setVideoFilter:(char *)[tempArray[x] UTF8String]
> on:YES];
> +            [self setVideoFilter:(char *)[[tempArray objectAtIndex:x]
> UTF8String] on:YES];
>      }
>      config_PutPsz(p_intf,"sub-source", [tempString UTF8String]);
>
> -    tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([items[2] UTF8String])];
> +    tempString = [NSString stringWithFormat:@"%s",
> vlc_b64_decode([[items objectAtIndex:2] UTF8String])];
>      /* enable another round of new filters */
>      if ([tempString length] > 0) {
>          tempArray = [tempString componentsSeparatedByString:@":"];
>          count = [tempArray count];
>          for (NSUInteger x = 0; x < count; x++)
> -            [self setVideoFilter:(char *)[tempArray[x] UTF8String]
> on:YES];
> +            [self setVideoFilter:(char *)[[tempArray objectAtIndex:x]
> UTF8String] on:YES];
>      }
>      config_PutPsz(p_intf,"video-splitter", [tempString UTF8String]);
>
>      /* try to set filter values on-the-fly and store them appropriately */
> -    [self setVideoFilterProperty:"hue" forFilter:"adjust"
> integer:[items[3] intValue]];
> -    [self setVideoFilterProperty:"contrast" forFilter:"adjust"
> float:[items[4] floatValue]];
> -    [self setVideoFilterProperty:"brightness" forFilter:"adjust"
> float:[items[5] floatValue]];
> -    [self setVideoFilterProperty:"saturation" forFilter:"adjust"
> float:[items[6] floatValue]];
> -    [self setVideoFilterProperty:"gamma" forFilter:"adjust"
> float:[items[7] floatValue]];
> -    [self setVideoFilterProperty:"sharpen-sigma" forFilter:"sharpen"
> float:[items[8] floatValue]];
> -    [self setVideoFilterProperty:"gradfun-radius" forFilter:"gradfun"
> integer:[items[9] intValue]];
> -    [self setVideoFilterProperty:"grain-variance" forFilter:"grain"
> float:[items[10] floatValue]];
> -    [self setVideoFilterProperty:"transform-type" forFilter:"transform"
> string:vlc_b64_decode([items[11] UTF8String])];
> -    [self setVideoFilterProperty:"puzzle-rows" forFilter:"puzzle"
> integer:[items[12] intValue]];
> -    [self setVideoFilterProperty:"puzzle-cols" forFilter:"puzzle"
> integer:[items[13] intValue]];
> -    [self setVideoFilterProperty:"puzzle-black-slot" forFilter:"puzzle"
> boolean:[items[14] intValue]];
> -    [self setVideoFilterProperty:"colorthres-color"
> forFilter:"colorthres" integer:[items[15] intValue]];
> -    [self setVideoFilterProperty:"colorthres-saturationthres"
> forFilter:"colorthres" integer:[items[16] intValue]];
> -    [self setVideoFilterProperty:"colorthres-similaritythres"
> forFilter:"colorthres" integer:[items[17] intValue]];
> -    [self setVideoFilterProperty:"sepia-intensity" forFilter:"sepia"
> integer:[items[18] intValue]];
> -    [self setVideoFilterProperty:"gradient-mode" forFilter:"gradient"
> string:vlc_b64_decode([items[19] UTF8String])];
> -    [self setVideoFilterProperty:"gradient-cartoon" forFilter:"gradient"
> integer:[items[20] intValue]];
> -    [self setVideoFilterProperty:"gradient-type" forFilter:"gradient"
> integer:[items[21] intValue]];
> -    [self setVideoFilterProperty:"extract-component" forFilter:"extract"
> integer:[items[22] intValue]];
> -    [self setVideoFilterProperty:"posterize-level" forFilter:"posterize"
> integer:[items[23] intValue]];
> -    [self setVideoFilterProperty:"blur-factor" forFilter:"motionblur"
> integer:[items[24] intValue]];
> -    [self setVideoFilterProperty:"marq-marquee" forFilter:"marq"
> string:vlc_b64_decode([items[25] UTF8String])];
> -    [self setVideoFilterProperty:"marq-position" forFilter:"marq"
> integer:[items[26] intValue]];
> -    [self setVideoFilterProperty:"logo-file" forFilter:"logo"
> string:vlc_b64_decode([items[27] UTF8String])];
> -    [self setVideoFilterProperty:"logo-position" forFilter:"logo"
> integer:[items[28] intValue]];
> -    [self setVideoFilterProperty:"logo-opacity" forFilter:"logo"
> integer:[items[29] intValue]];
> -    [self setVideoFilterProperty:"clone-count" forFilter:"clone"
> integer:[items[30] intValue]];
> -    [self setVideoFilterProperty:"wall-rows" forFilter:"wall"
> integer:[items[31] intValue]];
> -    [self setVideoFilterProperty:"wall-cols" forFilter:"wall"
> integer:[items[32] intValue]];
> +    [self setVideoFilterProperty:"hue" forFilter:"adjust" integer:[[items
> objectAtIndex:3] intValue]];
> +    [self setVideoFilterProperty:"contrast" forFilter:"adjust"
> float:[[items objectAtIndex:4] floatValue]];
> +    [self setVideoFilterProperty:"brightness" forFilter:"adjust"
> float:[[items objectAtIndex:5] floatValue]];
> +    [self setVideoFilterProperty:"saturation" forFilter:"adjust"
> float:[[items objectAtIndex:6] floatValue]];
> +    [self setVideoFilterProperty:"gamma" forFilter:"adjust" float:[[items
> objectAtIndex:7] floatValue]];
> +    [self setVideoFilterProperty:"sharpen-sigma" forFilter:"sharpen"
> float:[[items objectAtIndex:8] floatValue]];
> +    [self setVideoFilterProperty:"gradfun-radius" forFilter:"gradfun"
> integer:[[items objectAtIndex:9] intValue]];
> +    [self setVideoFilterProperty:"grain-variance" forFilter:"grain"
> float:[[items objectAtIndex:10] floatValue]];
> +    [self setVideoFilterProperty:"transform-type" forFilter:"transform"
> string:vlc_b64_decode([[items objectAtIndex:11] UTF8String])];
> +    [self setVideoFilterProperty:"puzzle-rows" forFilter:"puzzle"
> integer:[[items objectAtIndex:12] intValue]];
> +    [self setVideoFilterProperty:"puzzle-cols" forFilter:"puzzle"
> integer:[[items objectAtIndex:13] intValue]];
> +    [self setVideoFilterProperty:"puzzle-black-slot" forFilter:"puzzle"
> boolean:[[items objectAtIndex:14] intValue]];
> +    [self setVideoFilterProperty:"colorthres-color"
> forFilter:"colorthres" integer:[[items objectAtIndex:15] intValue]];
> +    [self setVideoFilterProperty:"colorthres-saturationthres"
> forFilter:"colorthres" integer:[[items objectAtIndex:16] intValue]];
> +    [self setVideoFilterProperty:"colorthres-similaritythres"
> forFilter:"colorthres" integer:[[items objectAtIndex:17] intValue]];
> +    [self setVideoFilterProperty:"sepia-intensity" forFilter:"sepia"
> integer:[[items objectAtIndex:18] intValue]];
> +    [self setVideoFilterProperty:"gradient-mode" forFilter:"gradient"
> string:vlc_b64_decode([[items objectAtIndex:19] UTF8String])];
> +    [self setVideoFilterProperty:"gradient-cartoon" forFilter:"gradient"
> integer:[[items objectAtIndex:20] intValue]];
> +    [self setVideoFilterProperty:"gradient-type" forFilter:"gradient"
> integer:[[items objectAtIndex:21] intValue]];
> +    [self setVideoFilterProperty:"extract-component" forFilter:"extract"
> integer:[[items objectAtIndex:22] intValue]];
> +    [self setVideoFilterProperty:"posterize-level" forFilter:"posterize"
> integer:[[items objectAtIndex:23] intValue]];
> +    [self setVideoFilterProperty:"blur-factor" forFilter:"motionblur"
> integer:[[items objectAtIndex:24] intValue]];
> +    [self setVideoFilterProperty:"marq-marquee" forFilter:"marq"
> string:vlc_b64_decode([[items objectAtIndex:25] UTF8String])];
> +    [self setVideoFilterProperty:"marq-position" forFilter:"marq"
> integer:[[items objectAtIndex:26] intValue]];
> +    [self setVideoFilterProperty:"logo-file" forFilter:"logo"
> string:vlc_b64_decode([[items objectAtIndex:27] UTF8String])];
> +    [self setVideoFilterProperty:"logo-position" forFilter:"logo"
> integer:[[items objectAtIndex:28] intValue]];
> +    [self setVideoFilterProperty:"logo-opacity" forFilter:"logo"
> integer:[[items objectAtIndex:29] intValue]];
> +    [self setVideoFilterProperty:"clone-count" forFilter:"clone"
> integer:[[items objectAtIndex:30] intValue]];
> +    [self setVideoFilterProperty:"wall-rows" forFilter:"wall"
> integer:[[items objectAtIndex:31] intValue]];
> +    [self setVideoFilterProperty:"wall-cols" forFilter:"wall"
> integer:[[items objectAtIndex:32] intValue]];
>
>      [defaults setInteger:selectedProfile forKey:@
> "VideoEffectSelectedProfile"];
>      [defaults synchronize];
> diff --git a/modules/gui/macosx/Windows.m b/modules/gui/macosx/Windows.m
> index dc15ad9..af7e65b 100644
> --- a/modules/gui/macosx/Windows.m
> +++ b/modules/gui/macosx/Windows.m
> @@ -134,7 +134,7 @@
>      @synchronized(self) {
>          current_anim = self->o_current_animation;
>
> -        if ([[current_anim viewAnimations][0] objectForKey:
> NSViewAnimationEffectKey] == NSViewAnimationFadeOutEffect && [current_anim
> isAnimating]) {
> +        if ([[[current_anim viewAnimations] objectAtIndex:0]
> objectForKey: NSViewAnimationEffectKey] == NSViewAnimationFadeOutEffect &&
> [current_anim isAnimating]) {
>              [anim release];
>          } else {
>              if (current_anim) {
> @@ -186,7 +186,7 @@
>      @synchronized(self) {
>          current_anim = self->o_current_animation;
>
> -        if ([[current_anim viewAnimations][0] objectForKey:
> NSViewAnimationEffectKey] == NSViewAnimationFadeInEffect && [current_anim
> isAnimating]) {
> +        if ([[[current_anim viewAnimations] objectAtIndex:0]
> objectForKey: NSViewAnimationEffectKey] == NSViewAnimationFadeInEffect &&
> [current_anim isAnimating]) {
>              [anim release];
>          } else {
>              if (current_anim) {
> @@ -664,8 +664,8 @@
>      NSUInteger count = [subviews count];
>
>      for (NSUInteger x = 0; x < count; x++) {
> -        if ([subviews[x] respondsToSelector:@selector(reshape)])
> -            [subviews[x] reshape];
> +        if ([[subviews objectAtIndex:x] respondsToSelector:@selector
> (reshape)])
> +            [[subviews objectAtIndex:x] reshape];
>      }
>
>  }
> @@ -882,7 +882,7 @@
>  - (void)hasBecomeFullscreen
>  {
>      if ([[o_video_view subviews] count] > 0)
> -        [o_fullscreen_window makeFirstResponder: [o_video_view
> subviews][0]];
> +        [o_fullscreen_window makeFirstResponder: [[o_video_view subviews]
> objectAtIndex:0]];
>
>      [o_fullscreen_window makeKeyWindow];
>      [o_fullscreen_window setAcceptsMouseMovedEvents: YES];
> @@ -1021,7 +1021,7 @@
>      [o_video_view release];
>      [o_video_view setFrame:[o_temp_view frame]];
>      if ([[o_video_view subviews] count] > 0)
> -        [self makeFirstResponder: [o_video_view subviews][0]];
> +        [self makeFirstResponder: [[o_video_view subviews]
> objectAtIndex:0]];
>
>      [super makeKeyAndOrderFront:self]; /* our version (in main window)
> contains a workaround */
>
> @@ -1055,7 +1055,7 @@
>      /* Fullscreen ended or started (we are a delegate only for
> leaveFullscreen's/enterFullscren's anim2) */
>      viewAnimations = [o_fullscreen_anim2 viewAnimations];
>      if ([viewAnimations count] >=1 &&
> -        [[viewAnimations[0] objectForKey: NSViewAnimationEffectKey]
> isEqualToString:NSViewAnimationFadeInEffect]) {
> +        [[[viewAnimations objectAtIndex:0] objectForKey:
> NSViewAnimationEffectKey] isEqualToString:NSViewAnimationFadeInEffect]) {
>          /* Fullscreen ended */
>          [self hasEndedFullscreen];
>      } else
> diff --git a/modules/gui/macosx/bookmarks.m
> b/modules/gui/macosx/bookmarks.m
> index 201ab62..e8ef385 100644
> --- a/modules/gui/macosx/bookmarks.m
> +++ b/modules/gui/macosx/bookmarks.m
> @@ -242,11 +242,11 @@ static VLCBookmarks *_o_sharedInstance = nil;
>      NSArray * components = [[o_edit_fld_time stringValue]
> componentsSeparatedByString:@":"];
>      NSUInteger componentCount = [components count];
>      if (componentCount == 1)
> -        pp_bookmarks[i]->i_time_offset = 1000000 * ([components[0]
> intValue]);
> +        pp_bookmarks[i]->i_time_offset = 1000000 * ([[components
> objectAtIndex:0] intValue]);
>      else if (componentCount == 2)
> -        pp_bookmarks[i]->i_time_offset = 1000000 * ([components[0]
> intValue] * 60 + [components[1] intValue]);
> +        pp_bookmarks[i]->i_time_offset = 1000000 * ([[components
> objectAtIndex:0] intValue] * 60 + [[components objectAtIndex:1] intValue]);
>      else if (componentCount == 3)
> -        pp_bookmarks[i]->i_time_offset = 1000000 * ([components[0]
> intValue] * 3600 + [components[1] intValue] * 60 + [components[2]
> intValue]);
> +        pp_bookmarks[i]->i_time_offset = 1000000 * ([[components
> objectAtIndex:0] intValue] * 3600 + [[components objectAtIndex:1] intValue]
> * 60 + [[components objectAtIndex:2] intValue]);
>      else {
>          msg_Err(VLCIntf, "Invalid string format for time");
>          goto clear;
> diff --git a/modules/gui/macosx/output.m b/modules/gui/macosx/output.m
> index 68aa66c..df84bb2 100644
> --- a/modules/gui/macosx/output.m
> +++ b/modules/gui/macosx/output.m
> @@ -378,10 +378,10 @@
>              if ([o_urlItems count] == 1)
>                  [o_finalStreamAddress appendFormat: @"\"%@:%@\"",
> [o_stream_address stringValue],[o_stream_port stringValue]];
>              else {
> -                [o_finalStreamAddress appendFormat: @"\"%@:%@",
> o_urlItems[0], [o_stream_port stringValue]];
> +                [o_finalStreamAddress appendFormat: @"\"%@:%@",
> [o_urlItems objectAtIndex:0], [o_stream_port stringValue]];
>                  NSUInteger itemCount = [o_urlItems count];
>                  for (NSUInteger x = 0; x < itemCount; x++)
> -                    [o_finalStreamAddress appendFormat: @"/%@",
> o_urlItems[x]];
> +                    [o_finalStreamAddress appendFormat: @"/%@",
> [o_urlItems objectAtIndex:x]];
>                  [o_finalStreamAddress appendString: @"\""];
>              }
>
> diff --git a/modules/gui/macosx/wizard.m b/modules/gui/macosx/wizard.m
> index cf6a8d6..0c6e857 100644
> --- a/modules/gui/macosx/wizard.m
> +++ b/modules/gui/macosx/wizard.m
> @@ -729,73 +729,73 @@ static VLCWizard *_o_sharedInstance = nil;
>                  NSInteger i_selectedVideoCodec = [[o_userSelections
> objectForKey:@"trnscdVideoCodec"] intValue];
>
>                  /* we are transcoding both audio and video, so we need to
> check both deps */
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_PS"])
> +                if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_PS"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_PS"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_PS"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:0 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:0 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_TS"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_TS"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_TS"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_TS"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:1 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:1 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MPEG"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_MPEG"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_MPEG"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_MPEG"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:2 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:2 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_OGG"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_OGG"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_OGG"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_OGG"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:3 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:3 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_RAW"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_RAW"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_RAW"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_RAW"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:4 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:4 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_ASF"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_ASF"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_ASF"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_ASF"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:5 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:5 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MP4"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_MP4"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_MP4"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_MP4"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:6 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:6 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MOV"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_MOV"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_MOV"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_MOV"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:7 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:7 column:0];
>                      }
>                  }
> -                if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_WAV"])
> +                if ([[o_videoCodecs i_selectedVideoCodec] containsObject:
> @"MUX_WAV"])
>                  {
> -                    if ([o_audioCodecs[i_selectedAudioCodec]
> containsObject: @"MUX_WAV"])
> +                    if ([[o_audioCodecs
> objectAtIndex:i_selectedAudioCodec] containsObject: @"MUX_WAV"])
>                      {
>                          [[o_t5_matrix_encap cellAtRow:8 column:0]
> setEnabled:YES];
>                          [o_t5_matrix_encap selectCellAtRow:8 column:0];
> @@ -807,47 +807,47 @@ static VLCWizard *_o_sharedInstance = nil;
>                  /* we just transcoding the audio */
>
>                  /* select formats supported by the audio codec */
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_PS"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_PS"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:0 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:0 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_TS"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_TS"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:1 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:1 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_MPEG"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_MPEG"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:2 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:2 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_OGG"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_OGG"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:3 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:3 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_RAW"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_RAW"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:4 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:4 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_ASF"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_ASF"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:5 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:5 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_MP4"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_MP4"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:6 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:6 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_MOV"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_MOV"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:7 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:7 column:0];
>                  }
> -                if ([o_audioCodecs[i_selectedAudioCodec] containsObject:
> @"MUX_WAV"])
> +                if ([[o_audioCodecs objectAtIndex:i_selectedAudioCodec]
> containsObject: @"MUX_WAV"])
>                  {
>                      [[o_t5_matrix_encap cellAtRow:8 column:0]
> setEnabled:YES];
>                      [o_t5_matrix_encap selectCellAtRow:8 column:0];
> @@ -861,47 +861,47 @@ static VLCWizard *_o_sharedInstance = nil;
>              /* select formats supported by the video-codec */
>              NSInteger i_selectedVideoCodec = [[o_userSelections
> objectForKey:@"trnscdVideoCodec"] intValue];
>
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_PS"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_PS"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:0 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:0 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_TS"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_TS"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:1 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:1 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MPEG"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_MPEG"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:2 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:2 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_OGG"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_OGG"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:3 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:3 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_RAW"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_RAW"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:4 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:4 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_ASF"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_ASF"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:5 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:5 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MP4"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_MP4"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:6 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:6 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_MOV"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_MOV"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:7 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:7 column:0];
>              }
> -            if ([o_videoCodecs[i_selectedVideoCodec] containsObject:
> @"MUX_WAV"])
> +            if ([[o_videoCodecs objectAtIndex:i_selectedVideoCodec]
> containsObject: @"MUX_WAV"])
>              {
>                  [[o_t5_matrix_encap cellAtRow:8 column:0] setEnabled:YES];
>                  [o_t5_matrix_encap selectCellAtRow:8 column:0];
> @@ -1085,7 +1085,7 @@ static VLCWizard *_o_sharedInstance = nil;
>                      "button to select a location."));
>          } else {
>              /* create a string containing the requested suffix for later
> usage */
> -            NSString * theEncapFormat = o_encapFormats[[[o_userSelections
> objectForKey:@"encapFormat"] intValue]][0];
> +            NSString * theEncapFormat = [[o_encapFormats
> objectAtIndex:[[o_userSelections objectForKey:@"encapFormat"] intValue]]
> objectAtIndex:0];
>              if ([theEncapFormat isEqualToString:@"ps"])
>                  theEncapFormat = @"mpg";
>
> @@ -1119,11 +1119,8 @@ static VLCWizard *_o_sharedInstance = nil;
>                          fileNameToUse = @"";
>                          while( z < (count - 1))
>                          {
> -                            fileNameToUse = [fileNameToUse
> stringByAppendingString:
> -                                [[[NSFileManager defaultManager]
> -                                displayNameAtPath:
> -                                [o_userSelections objectForKey:@
> "pathToStrm"][x]]
> -                                componentsSeparatedByString: @"."][z]];
> +                            NSString *appendName = [[[[NSFileManager
> defaultManager] displayNameAtPath:[[o_userSelections objectForKey:@"pathToStrm"]
> objectAtIndex:x]] componentsSeparatedByString: @"."] objectAtIndex:z];
> +                            fileNameToUse = [fileNameToUse
> stringByAppendingString:appendName];
>                              z += 1;
>                          }
>                      }
> @@ -1203,11 +1200,11 @@ static VLCWizard *_o_sharedInstance = nil;
>                  NSUInteger componentCount = [components count];
>                  NSUInteger time = 0;
>                  if (componentCount == 1)
> -                    time = 1000000 * ([components[0] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue]);
>                  else if (componentCount == 2)
> -                    time = 1000000 * ([components[0] intValue] * 60 +
> [components[1] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue] * 60 + [[components objectAtIndex:1] intValue]);
>                  else if (componentCount == 3)
> -                    time = 1000000 * ([components[0] intValue] * 3600 +
> [components[1] intValue] * 60 + [components[2] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 +
> [[components objectAtIndex:2] intValue]);
>                  else
>                      msg_Err(VLCIntf, "Invalid string format for time");
>                  input_item_AddOption(p_input, [[NSString
> stringWithFormat: @"start-time=%lu", time] UTF8String],
> VLC_INPUT_OPTION_TRUSTED);
> @@ -1219,11 +1216,11 @@ static VLCWizard *_o_sharedInstance = nil;
>                  NSUInteger componentCount = [components count];
>                  NSUInteger time = 0;
>                  if (componentCount == 1)
> -                    time = 1000000 * ([components[0] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue]);
>                  else if (componentCount == 2)
> -                    time = 1000000 * ([components[0] intValue] * 60 +
> [components[1] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue] * 60 + [[components objectAtIndex:1] intValue]);
>                  else if (componentCount == 3)
> -                    time = 1000000 * ([components[0] intValue] * 3600 +
> [components[1] intValue] * 60 + [components[2] intValue]);
> +                    time = 1000000 * ([[components objectAtIndex:0]
> intValue] * 3600 + [[components objectAtIndex:1] intValue] * 60 +
> [[components objectAtIndex:2] intValue]);
>                  else
>                      msg_Err(VLCIntf, "Invalid string format for time");
>                  input_item_AddOption(p_input, [[NSString
> stringWithFormat: @"stop-time=%lu", time] UTF8String],
> VLC_INPUT_OPTION_TRUSTED);
> @@ -1263,7 +1260,7 @@ static VLCWizard *_o_sharedInstance = nil;
>      NSUInteger count = [o_videoCodecs count];
>      for (NSUInteger x = 0; x < count; x++)
>      {
> -        [o_t4_pop_videoCodec addItemWithTitle:o_videoCodecs[x][0]];
> +        [o_t4_pop_videoCodec addItemWithTitle:[[o_videoCodecs
> objectAtIndex:x] objectAtIndex:0]];
>          [[o_t4_pop_videoCodec lastItem] setTag:x];
>      }
>      if (savePreviousSel >= 0)
> @@ -1274,7 +1271,7 @@ static VLCWizard *_o_sharedInstance = nil;
>      count = [o_audioCodecs count];
>      for (NSUInteger x = 0; x < count; x++)
>      {
> -        [o_t4_pop_audioCodec addItemWithTitle:o_audioCodecs[x][0]];
> +        [o_t4_pop_audioCodec addItemWithTitle:[[o_audioCodecs
> objectAtIndex:x] objectAtIndex:0]];
>          [[o_t4_pop_audioCodec lastItem] setTag:x];
>      }
>      if (savePreviousSel >= 0)
> @@ -1315,7 +1312,7 @@ static VLCWizard *_o_sharedInstance = nil;
>      {
>          [o_t8_fld_trnscdVideo setStringValue: [NSString stringWithFormat:
>              _NS("yes: %@ @ %@ kb/s"),
> -            o_videoCodecs[[[o_userSelections objectForKey:@"trnscdVideoCodec"]
> intValue]][0],
> +            [[o_videoCodecs objectAtIndex:[[o_userSelections
> objectForKey:@"trnscdVideoCodec"] intValue]] objectAtIndex:0],
>              [o_userSelections objectForKey:@"trnscdVideoBitrate"]]];
>      }
>      else
> @@ -1332,7 +1329,7 @@ static VLCWizard *_o_sharedInstance = nil;
>      {
>          [o_t8_fld_trnscdAudio setStringValue: [NSString stringWithFormat:
>              _NS("yes: %@ @ %@ kb/s"),
> -            o_audioCodecs[[[o_userSelections objectForKey:@"trnscdAudioCodec"]
> intValue]][0],
> +            [[o_audioCodecs objectAtIndex:[[o_userSelections
> objectForKey:@"trnscdAudioCodec"] intValue]] objectAtIndex:0],
>              [o_userSelections objectForKey:@"trnscdAudioBitrate"]]];
>      }
>      else
> @@ -1344,7 +1341,7 @@ static VLCWizard *_o_sharedInstance = nil;
>      {
>          /* we are streaming and perhaps also transcoding */
>          [o_t8_fld_saveFileTo setStringValue: @"-"];
> -        [o_t8_fld_strmgMthd setStringValue:
> o_strmgMthds[[[o_userSelections objectForKey:@"stmgMhd"] intValue]][1]];
> +        [o_t8_fld_strmgMthd setStringValue: [[o_strmgMthds
> objectAtIndex:[[o_userSelections objectForKey:@"stmgMhd"] intValue]]
> objectAtIndex:1]];
>          [o_t8_fld_destination setStringValue: [o_userSelections
> objectForKey:
>              @"stmgDest"]];
>          [o_t8_fld_ttl setStringValue: [o_userSelections objectForKey:@
> "ttl"]];
> @@ -1372,8 +1369,7 @@ static VLCWizard *_o_sharedInstance = nil;
>              [o_t8_fld_saveFileTo setStringValue:
>                  [o_userSelections objectForKey: @"trnscdFilePath"][0]];
>      }
> -    [o_t8_fld_encapFormat setStringValue: o_encapFormats[
> -        [[o_userSelections objectForKey:@"encapFormat"] intValue]][1]];
> +    [o_t8_fld_encapFormat setStringValue: [[o_encapFormats
> objectAtIndex:[[o_userSelections objectForKey:@"encapFormat"] intValue]]
> objectAtIndex:1]];
>
>      [self createOpts];
>      [o_t8_fld_mrl setStringValue: [o_userSelections objectForKey:@"opts"]
> @@ -1400,7 +1396,7 @@ static VLCWizard *_o_sharedInstance = nil;
>          {
>              [o_trnscdCmd appendString: @"transcode{"];
>              [o_trnscdCmd appendFormat: @"vcodec=%@,vb=%i",
> -                o_videoCodecs[[[o_userSelections objectForKey:@"trnscdVideoCodec"]
> intValue]][1],
> +                [[o_videoCodecs objectAtIndex:[[o_userSelections
> objectForKey:@"trnscdVideoCodec"] intValue]] objectAtIndex:1],
>                  [[o_userSelections objectForKey:@"trnscdVideoBitrate"]
> intValue]];
>              if ([[o_userSelections objectForKey:@"trnscdAudio"]
> isEqualToString:@"YES"])
>              {
> @@ -1427,7 +1423,7 @@ static VLCWizard *_o_sharedInstance = nil;
>                  [o_trnscdCmd appendString: @"transcode{"];
>              }
>              [o_trnscdCmd appendFormat: @"acodec=%@,ab=%i}:",
> -                o_audioCodecs[[[o_userSelections objectForKey:@"trnscdAudioCodec"]
> intValue]][1],
> +                [[o_audioCodecs objectAtIndex:[[o_userSelections
> objectForKey:@"trnscdAudioCodec"] intValue]] objectAtIndex:1],
>                  [[o_userSelections objectForKey:@"trnscdAudioBitrate"]
> intValue]];
>          }
>
> @@ -1438,7 +1434,7 @@ static VLCWizard *_o_sharedInstance = nil;
>
>  @":sout=#%@%@standard{mux=%@,access=file{no-overwrite},dst=%@}",
>                  o_duplicateCmd,
>                  o_trnscdCmd,
> -                o_encapFormats[[[o_userSelections objectForKey:@"encapFormat"]
> intValue]][0],
> +                [[o_encapFormats objectAtIndex:[[o_userSelections
> objectForKey:@"encapFormat"] intValue]] objectAtIndex:0],
>                  [o_userSelections objectForKey: @"trnscdFilePath"][x]];
>          }
>          else
> @@ -1458,13 +1454,13 @@ static VLCWizard *_o_sharedInstance = nil;
>                      [o_sap_option appendFormat: @"sap,name=\"%@\"",
>                          [o_userSelections objectForKey:@"sapText"]];
>                  }
> -                if ([o_strmgMthds[[[o_userSelections objectForKey:
> @"stmgMhd"] intValue]][0] isEqualToString:@"rtp"])
> +                if ([[[o_strmgMthds objectAtIndex:[[o_userSelections
> objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0] isEqualToString:@
> "rtp"])
>                  {
>                      /* RTP is no access out, but a stream out module */
>                      [o_opts_string appendFormat:
>
> @":sout=#%@%@rtp{mux=%@,dst=%@,%@}",
>                          o_duplicateCmd, o_trnscdCmd,
> -                        o_encapFormats[[[o_userSelections objectForKey:
> @"encapFormat"] intValue]][0],
> +                        [[o_encapFormats objectAtIndex:[[o_userSelections
> objectForKey: @"encapFormat"] intValue]] objectAtIndex:0],
>                          [o_userSelections objectForKey: @"stmgDest"],
>                          o_sap_option];
>                  }
> @@ -1473,23 +1469,23 @@ static VLCWizard *_o_sharedInstance = nil;
>                      [o_opts_string appendFormat:
>
> @":sout=#%@%@standard{mux=%@,dst=%@,access=%@,%@}",
>                          o_duplicateCmd, o_trnscdCmd,
> -                        o_encapFormats[[[o_userSelections objectForKey:
> @"encapFormat"] intValue]][0],
> +                        [[o_encapFormats objectAtIndex:[[o_userSelections
> objectForKey: @"encapFormat"] intValue]] objectAtIndex:0],
>                          [o_userSelections objectForKey: @"stmgDest"],
> -                        o_strmgMthds[[[o_userSelections objectForKey:
> @"stmgMhd"] intValue]][0],
> +                        [[o_strmgMthds objectAtIndex:[[o_userSelections
> objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0],
>                          o_sap_option];
>                  }
>              }
>              else
>              {
>                  /* no SAP, just streaming */
> -                if ([o_strmgMthds[[[o_userSelections objectForKey:
> @"stmgMhd"] intValue]][0] isEqualToString:@"rtp"])
> +                if ([[[o_strmgMthds objectAtIndex:[[o_userSelections
> objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0] isEqualToString:@
> "rtp"])
>                  {
>                      /* RTP is different from the other protocols, as it
> isn't provided through an access out module anymore */
>                      [o_opts_string appendFormat:
>
> @":sout=#%@%@rtp{mux=%@,dst=%@}",
>                          o_duplicateCmd,
>                          o_trnscdCmd,
> -                        o_encapFormats[[[o_userSelections objectForKey:
> @"encapFormat"] intValue]][0],
> +                        [[o_encapFormats objectAtIndex:[[o_userSelections
> objectForKey: @"encapFormat"] intValue]] objectAtIndex:0],
>                          [o_userSelections objectForKey: @"stmgDest"]];
>                  }
>                  else
> @@ -1499,9 +1495,9 @@ static VLCWizard *_o_sharedInstance = nil;
>
> @":sout=#%@%@standard{mux=%@,dst=%@,access=%@}",
>                          o_duplicateCmd,
>                          o_trnscdCmd,
> -                        o_encapFormats[[[o_userSelections objectForKey:
> @"encapFormat"] intValue]][0],
> +                        [[o_encapFormats objectAtIndex:[[o_userSelections
> objectForKey: @"encapFormat"] intValue]] objectAtIndex:0],
>                          [o_userSelections objectForKey: @"stmgDest"],
> -                        o_strmgMthds[[[o_userSelections objectForKey:
> @"stmgMhd"] intValue]][0]];
> +                        [[o_strmgMthds objectAtIndex:[[o_userSelections
> objectForKey: @"stmgMhd"] intValue]] objectAtIndex:0]];
>                  }
>              }
>          }
> @@ -1661,46 +1657,46 @@ static VLCWizard *_o_sharedInstance = nil;
>      if (mode == 0)
>      {
>          /* HTTP */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[0][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[0][3]];
> +        [o_t3_txt_destInfo setStringValue:[[o_strmgMthds objectAtIndex:0]
> objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:0] objectAtIndex:3]];
>      }
>      else if (mode == 1)
>      {
>          /* MMS */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[1][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[1][3]];
> +        [o_t3_txt_destInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:1] objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:1] objectAtIndex:3]];
>      }
>      else if (mode == 2)
>      {
>          /* UDP-Unicast */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[2][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[2][3]];
> +        [o_t3_txt_destInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:2] objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:2] objectAtIndex:3]];
>      }
>      else if (mode == 3)
>      {
>          /* UDP-Multicast */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[3][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[3][3]];
> +        [o_t3_txt_destInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:3] objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:3] objectAtIndex:3]];
>      }
>      else if (mode == 4)
>      {
>          /* RTP-Unicast */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[4][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[4][3]];
> +        [o_t3_txt_destInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:4] objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:4] objectAtIndex:3]];
>      }
>      else if (mode == 5)
>      {
>          /* RTP-Multicast */
> -        [o_t3_txt_destInfo setStringValue: o_strmgMthds[5][2]];
> -        [o_t3_txt_strgMthdInfo setStringValue: o_strmgMthds[5][3]];
> +        [o_t3_txt_destInfo setStringValue: [[o_strmgMthds
> objectAtIndex:5] objectAtIndex:2]];
> +        [o_t3_txt_strgMthdInfo setStringValue:[[ o_strmgMthds
> objectAtIndex:5] objectAtIndex:3]];
>      }
>  }
>
>  - (IBAction)t4_AudCdcChanged:(id)sender
>  {
>      /* update codec info */
> -    [o_t4_txt_hintAudio setStringValue:o_audioCodecs[
> -        [[o_t4_pop_audioCodec selectedItem]tag]][2]];
> +    [o_t4_txt_hintAudio setStringValue:
> +      [[o_audioCodecs objectAtIndex:[[o_t4_pop_audioCodec
> selectedItem]tag]] objectAtIndex:2]];
>  }
>
>  - (IBAction)t4_enblAudTrnscd:(id)sender
> @@ -1741,8 +1737,8 @@ static VLCWizard *_o_sharedInstance = nil;
>  - (IBAction)t4_VidCdcChanged:(id)sender
>  {
>      /* update codec info */
> -    [o_t4_txt_hintVideo setStringValue:o_videoCodecs[
> -        [[o_t4_pop_videoCodec selectedItem]tag]][2]];
> +    [o_t4_txt_hintVideo setStringValue:[[o_videoCodecs objectAtIndex:
> +        [[o_t4_pop_videoCodec selectedItem]tag]] objectAtIndex:2]];
>  }
>
>  - (IBAction)t6_enblSapAnnce:(id)sender
> @@ -1818,8 +1814,8 @@ static VLCWizard *_o_sharedInstance = nil;
>          /* don't use ".ps" as suffix, since the OSX Finder confuses our
>           * creations with PostScript-files and wants to open them with
>           * Preview.app */
> -        NSString * theEncapFormat = o_encapFormats[
> -        [[o_userSelections objectForKey:@"encapFormat"] intValue]][0];
> +        NSString * theEncapFormat = [[o_encapFormats objectAtIndex:
> +        [[o_userSelections objectForKey:@"encapFormat"] intValue]]
> objectAtIndex:0];
>          if (![theEncapFormat isEqualToString:@"ps"])
>              [saveFilePanel setAllowedFileTypes: @[theEncapFormat]];
>          else
> --
> 1.8.2.2
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20130512/ea347bdc/attachment.html>


More information about the vlc-devel mailing list