summaryrefslogtreecommitdiffstats
path: root/test/test.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-08-01 18:06:22 +0000
committerjstebbins <[email protected]>2011-08-01 18:06:22 +0000
commit76d480815a9c6773e0fa5bcffaded04646279b8a (patch)
tree01fb72f321632a8bfb928bb3cfc40448f371eb0c /test/test.c
parent7a083edaa1a8d331ca8eb2878f051a4fc1966d43 (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 'test/test.c')
-rw-r--r--test/test.c46
1 files changed, 40 insertions, 6 deletions
diff --git a/test/test.c b/test/test.c
index d9f360dec..4fd728537 100644
--- a/test/test.c
+++ b/test/test.c
@@ -2563,17 +2563,39 @@ static void ShowHelp()
#ifdef __APPLE_CC__
fprintf( out,
" -E, --aencoder <string> Audio encoder(s)\n"
- " (ca_aac/ca_haac/faac/lame/vorbis/ac3/copy/copy:ac3/copy:dts)\n"
- " copy, copy:ac3 and copy:dts meaning passthrough.\n"
- " copy will passthrough either ac3 or dts.\n"
+ " ca_aac\n"
+ " ca_haac\n"
+ " faac\n"
+ " lame\n"
+ " vorbis\n"
+ " ac3\n"
+ " copy\n"
+ " copy:aac\n"
+ " copy:ac3\n"
+ " copy:dts\n"
+ " copy:dtshd\n"
+ " copy:mp3\n"
+ " copy* will passthrough the corresponding\n"
+ " audio unmodified to the muxer if it is a\n"
+ " supported passthrough audio type.\n"
" Separated by commas for more than one audio track.\n"
" (default: ca_aac)\n" );
#else
fprintf( out,
" -E, --aencoder <string> Audio encoder(s):\n"
- " (faac/lame/vorbis/ac3/copy/copy:ac3/copy:dts)\n"
- " copy, copy:ac3 and copy:dts meaning passthrough.\n"
- " copy will passthrough either ac3 or dts.\n"
+ " faac\n"
+ " lame\n"
+ " vorbis\n"
+ " ac3\n"
+ " copy\n"
+ " copy:aac\n"
+ " copy:ac3\n"
+ " copy:dts\n"
+ " copy:dtshd\n"
+ " copy:mp3\n"
+ " copy* will passthrough the corresponding\n"
+ " audio unmodified to the muxer if it is a\n"
+ " supported passthrough audio type.\n"
" Separated by commas for more than one audio track.\n"
" (default: faac for mp4, lame for mkv)\n" );
#endif
@@ -3427,6 +3449,10 @@ static int ParseOptions( int argc, char ** argv )
allowed_audio_copy |= HB_ACODEC_DCA;
if ( !strcmp( allowed[i], "dtshd" ) )
allowed_audio_copy |= HB_ACODEC_DCA_HD;
+ if ( !strcmp( allowed[i], "mp3" ) )
+ allowed_audio_copy |= HB_ACODEC_MP3;
+ if ( !strcmp( allowed[i], "aac" ) )
+ allowed_audio_copy |= HB_ACODEC_FFAAC;
}
str_vfree( allowed );
} break;
@@ -3600,6 +3626,10 @@ static int get_acodec_for_string( char *codec )
{
return (HB_ACODEC_PASS_MASK & allowed_audio_copy) | HB_ACODEC_PASS_FLAG;
}
+ else if( !strcasecmp( codec, "copy:aac" ) )
+ {
+ return HB_ACODEC_AAC_PASS;
+ }
else if( !strcasecmp( codec, "copy:ac3" ) )
{
return HB_ACODEC_AC3_PASS;
@@ -3612,6 +3642,10 @@ static int get_acodec_for_string( char *codec )
{
return HB_ACODEC_DCA_HD_PASS;
}
+ else if( !strcasecmp( codec, "copy:mp3" ) )
+ {
+ return HB_ACODEC_MP3_PASS;
+ }
else if( !strcasecmp( codec, "lame" ) )
{
return HB_ACODEC_LAME;