diff options
author | jstebbins <[email protected]> | 2011-08-01 18:06:22 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2011-08-01 18:06:22 +0000 |
commit | 76d480815a9c6773e0fa5bcffaded04646279b8a (patch) | |
tree | 01fb72f321632a8bfb928bb3cfc40448f371eb0c /macosx | |
parent | 7a083edaa1a8d331ca8eb2878f051a4fc1966d43 (diff) |
add more audio passthru options
adds aac and mp3 passthru for mp4 and mkv containers
adds dts and dtshd for mp4 container (mkv already had it)
Note: The only player known (to me) to support dts(hd) in mp4 is ff/avplay
In LinGui there is a new option to limit which passthru codecs
will be used by the "Auto Passthru" audio codec options. The CLI
already has this ability with "--audio_copy-mask" which is use
in conjunction with the "copy" audio codec option.
Also corrects some A/V sync issues when video frames are dropped due to
a gap detected in the audio.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4149 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/HBAudio.m | 36 | ||||
-rw-r--r-- | macosx/HBAudioController.m | 7 |
2 files changed, 32 insertions, 11 deletions
diff --git a/macosx/HBAudio.m b/macosx/HBAudio.m index e92e578e4..b7fdbcc85 100644 --- a/macosx/HBAudio.m +++ b/macosx/HBAudio.m @@ -107,41 +107,55 @@ static NSMutableArray *masterBitRateArray = nil; [NSNumber numberWithBool: NO], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"MP3 (lame)", @"MP3 (lame)"), keyAudioCodecName, - [NSNumber numberWithInt: HB_ACODEC_LAME], keyAudioCodec, + NSLocalizedString(@"AAC Passthru", @"AAC Passthru"), keyAudioCodecName, + [NSNumber numberWithInt: HB_ACODEC_AAC_PASS], keyAudioCodec, [NSNumber numberWithBool: YES], keyAudioMP4, [NSNumber numberWithBool: YES], keyAudioMKV, - [NSNumber numberWithBool: NO], keyAudioMustMatchTrack, + [NSNumber numberWithInt: HB_ACODEC_FFAAC], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"AC3 Passthru", @"AC3 Passthru"), keyAudioCodecName, - [NSNumber numberWithInt: HB_ACODEC_AC3_PASS], keyAudioCodec, + NSLocalizedString(@"AC3 (ffmpeg)", @"AC3 (ffmpeg)"), keyAudioCodecName, + [NSNumber numberWithInt: HB_ACODEC_AC3], keyAudioCodec, [NSNumber numberWithBool: YES], keyAudioMP4, [NSNumber numberWithBool: YES], keyAudioMKV, - [NSNumber numberWithInt: HB_ACODEC_AC3], keyAudioMustMatchTrack, + [NSNumber numberWithBool: NO], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: - NSLocalizedString(@"AC3 (ffmpeg)", @"AC3 (ffmpeg)"), keyAudioCodecName, - [NSNumber numberWithInt: HB_ACODEC_AC3], keyAudioCodec, + NSLocalizedString(@"AC3 Passthru", @"AC3 Passthru"), keyAudioCodecName, + [NSNumber numberWithInt: HB_ACODEC_AC3_PASS], keyAudioCodec, [NSNumber numberWithBool: YES], keyAudioMP4, [NSNumber numberWithBool: YES], keyAudioMKV, - [NSNumber numberWithBool: NO], keyAudioMustMatchTrack, + [NSNumber numberWithInt: HB_ACODEC_AC3], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: NSLocalizedString(@"DTS Passthru", @"DTS Passthru"), keyAudioCodecName, [NSNumber numberWithInt: HB_ACODEC_DCA_PASS], keyAudioCodec, - [NSNumber numberWithBool: NO], keyAudioMP4, + [NSNumber numberWithBool: YES], keyAudioMP4, [NSNumber numberWithBool: YES], keyAudioMKV, [NSNumber numberWithInt: HB_ACODEC_DCA], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: NSLocalizedString(@"DTS-HD Passthru", @"DTS-HD Passthru"), keyAudioCodecName, [NSNumber numberWithInt: HB_ACODEC_DCA_HD_PASS], keyAudioCodec, - [NSNumber numberWithBool: NO], keyAudioMP4, + [NSNumber numberWithBool: YES], keyAudioMP4, [NSNumber numberWithBool: YES], keyAudioMKV, [NSNumber numberWithInt: HB_ACODEC_DCA_HD], keyAudioMustMatchTrack, nil]]; [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: + NSLocalizedString(@"MP3 (lame)", @"MP3 (lame)"), keyAudioCodecName, + [NSNumber numberWithInt: HB_ACODEC_LAME], keyAudioCodec, + [NSNumber numberWithBool: YES], keyAudioMP4, + [NSNumber numberWithBool: YES], keyAudioMKV, + [NSNumber numberWithBool: NO], keyAudioMustMatchTrack, + nil]]; + [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: + NSLocalizedString(@"MP3 Passthru", @"MP3 Passthru"), keyAudioCodecName, + [NSNumber numberWithInt: HB_ACODEC_MP3_PASS], keyAudioCodec, + [NSNumber numberWithBool: YES], keyAudioMP4, + [NSNumber numberWithBool: YES], keyAudioMKV, + [NSNumber numberWithInt: HB_ACODEC_MP3], keyAudioMustMatchTrack, + nil]]; + [masterCodecArray addObject: [NSDictionary dictionaryWithObjectsAndKeys: NSLocalizedString(@"Vorbis (vorbis)", @"Vorbis (vorbis)"), keyAudioCodecName, [NSNumber numberWithInt: HB_ACODEC_VORBIS], keyAudioCodec, [NSNumber numberWithBool: NO], keyAudioMP4, diff --git a/macosx/HBAudioController.m b/macosx/HBAudioController.m index ec9314697..b2de10c98 100644 --- a/macosx/HBAudioController.m +++ b/macosx/HBAudioController.m @@ -299,6 +299,13 @@ NSString *HBMixdownChangedNotification = @"HBMixdownChangedNotification"; { [dict setObject: @"AAC (CoreAudio)" forKey: @"AudioEncoder"]; } + // Auto Passthru not yet implemented - fallback to AC3 Passthru as it is + // compatible with all source codecs (via the AC3 encoder fallback) + if ([key isEqualToString: @"Auto Passthru"]) + { + [dict setObject: @"AC3 Passthru" forKey: @"AudioEncoder"]; + key = @"AC3 Passthru"; + } if ([[NSUserDefaults standardUserDefaults] boolForKey: @"AC3PassthruDefaultsToAC3"] && [key isEqualToString: @"AC3 Passthru"]) { |