summaryrefslogtreecommitdiffstats
path: root/macosx/HBAudio.m
diff options
context:
space:
mode:
authordynaflash <[email protected]>2011-07-19 15:28:24 +0000
committerdynaflash <[email protected]>2011-07-19 15:28:24 +0000
commit4c30ccadee5199d8c9bd0a4c4d38b50216cac409 (patch)
treec83e531d15b128b5907ef36ad0083558a50383e2 /macosx/HBAudio.m
parentaf8c57cdd80095f433a25b59194a7d16c9c70d36 (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.m27
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;
}
}