diff options
author | Rodeo <[email protected]> | 2013-05-08 17:49:17 +0000 |
---|---|---|
committer | Rodeo <[email protected]> | 2013-05-08 17:49:17 +0000 |
commit | 2a9ec102706226a3b84f6e01ac0152a432d77332 (patch) | |
tree | c665e5a089a8a100c5a189fda8b34a70ab0ae1fa /test/test.c | |
parent | 71e9fb2a70d30f3de8154a165063243301d5091d (diff) |
CLI: fix broken code for preserving libhb's default muxer.
It was checking if (job->mux) instead of if (mux)…
Also move setting the muxer and muxer options earlier, as we need to know the final muxer when e.g. setting audio settings.
Also, don't set the default audio codec before we have all relevant information.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5445 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'test/test.c')
-rw-r--r-- | test/test.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/test/test.c b/test/test.c index e65110161..771682280 100644 --- a/test/test.c +++ b/test/test.c @@ -78,7 +78,6 @@ static char ** acompressions = NULL; static char * acodec_fallback = NULL; static char * acodecs = NULL; static char ** anames = NULL; -static int default_acodec = 0; static int audio_explicit = 0; static char ** subtracks = NULL; static char ** subforce = NULL; @@ -1773,6 +1772,27 @@ static int HandleEvents( hb_handle_t * h ) hb_add_filter( job, filter, filter_str ); free( filter_str ); + // hb_job_init() will set a default muxer for us + // only override it if a specific muxer has been set + // note: the muxer must be set after presets, but before encoders + if (mux) + { + job->mux = mux; + } + // then, muxer options + if (largeFileSize) + { + job->largeFileSize = 1; + } + if (mp4_optimize) + { + job->mp4_optimize = 1; + } + if (ipod_atom) + { + job->ipod_atom = 1; + } + if( vquality >= 0.0 ) { job->vquality = vquality; @@ -1945,7 +1965,7 @@ static int HandleEvents( hb_handle_t * h ) if ((acodec = get_acodec_for_string(token)) == -1) { fprintf(stderr, "Invalid codec %s, using default for container.\n", token); - acodec = default_acodec; + acodec = hb_get_default_audio_encoder(job->mux); } if( i < num_audio_tracks ) { @@ -1983,7 +2003,7 @@ static int HandleEvents( hb_handle_t * h ) * then use that codec instead. */ if (i != 1) - acodec = default_acodec; + acodec = hb_get_default_audio_encoder(job->mux); for ( ; i < num_audio_tracks; i++) { audio = hb_list_audio_config_item(job->list_audio, i); @@ -2662,24 +2682,6 @@ static int HandleEvents( hb_handle_t * h ) } } - if( job->mux ) - { - job->mux = mux; - } - - if ( largeFileSize ) - { - job->largeFileSize = 1; - } - if ( mp4_optimize ) - { - job->mp4_optimize = 1; - } - if ( ipod_atom ) - { - job->ipod_atom = 1; - } - hb_job_set_file( job, output ); if( color_matrix_code ) @@ -4169,7 +4171,6 @@ static int CheckOptions( int argc, char ** argv ) "choices are mp4, m4v and mkv\n.", format ); return 1; } - default_acodec = hb_get_default_audio_encoder(mux); } return 0; |