diff options
author | dynaflash <[email protected]> | 2011-07-19 15:28:24 +0000 |
---|---|---|
committer | dynaflash <[email protected]> | 2011-07-19 15:28:24 +0000 |
commit | 4c30ccadee5199d8c9bd0a4c4d38b50216cac409 (patch) | |
tree | c83e531d15b128b5907ef36ad0083558a50383e2 /macosx/HBAudio.m | |
parent | af8c57cdd80095f433a25b59194a7d16c9c70d36 (diff) |
MacGUI: Consolidate passthrough mixdowns.
- There's no need for one passthrough mixdown per passthrough codec.
- When using passthru, mixdown is set to "None".
- Patch by Rodeo ... Thanks!
- Fix a bug where we would sometimes attempt to modify a non-mutable NSDictionary, causing a crash.
- Fix by blindjimmy ... Thanks!
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4121 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/HBAudio.m')
-rw-r--r-- | macosx/HBAudio.m | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/macosx/HBAudio.m b/macosx/HBAudio.m index 706e8303b..d5169d11d 100644 --- a/macosx/HBAudio.m +++ b/macosx/HBAudio.m @@ -151,16 +151,8 @@ static NSMutableArray *masterBitRateArray = nil; masterMixdownArray = [[NSMutableArray alloc] init]; // knowingly leaked [masterMixdownArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"AC3 Passthru", @"AC3 Passthru"), keyAudioMixdownName, - [NSNumber numberWithInt: HB_ACODEC_AC3_PASS], keyAudioMixdown, - nil]]; - [masterMixdownArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"DTS Passthru", @"DTS Passthru"), keyAudioMixdownName, - [NSNumber numberWithInt: HB_ACODEC_DCA_PASS], keyAudioMixdown, - nil]]; - [masterMixdownArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"DTS-HD Passthru", @"DTS-HD Passthru"), keyAudioMixdownName, - [NSNumber numberWithInt: HB_ACODEC_DCA_HD_PASS], keyAudioMixdown, + NSLocalizedString(@"None", @"None"), keyAudioMixdownName, + [NSNumber numberWithInt: 0], keyAudioMixdown, nil]]; for (i = 0; i < hb_audio_mixdowns_count; i++) { @@ -290,13 +282,13 @@ static NSMutableArray *masterBitRateArray = nil; // Basically with the way the mixdowns are stored, the assumption from the libhb point of view // currently is that all mixdowns from the best down to mono are supported. - if (currentMixdown <= theBestMixdown) + if (currentMixdown && currentMixdown <= theBestMixdown) { shouldAdd = YES; } - else if (0 == theBestMixdown && codecCodec == currentMixdown) + else if (0 == currentMixdown && (codecCodec & HB_ACODEC_PASS_FLAG)) { - // 0 means passthrough, add the current mixdown if it matches the passthrough codec + // "None" mixdown (passthru) shouldAdd = YES; } else @@ -310,12 +302,6 @@ static NSMutableArray *masterBitRateArray = nil; } } - if (0 == theDefaultMixdown) - { - // a mixdown of 0 means passthrough - theDefaultMixdown = codecCodec; - } - if (![self enabled]) { permittedMixdowns = nil; @@ -638,8 +624,9 @@ static NSMutableArray *masterBitRateArray = nil; if (retval) { int myMixdown = [[[self mixdown] objectForKey: keyAudioMixdown] intValue]; - if (myMixdown & HB_ACODEC_PASS_FLAG) + if (0 == myMixdown) { + // "None" mixdown (passthru) retval = NO; } } |