diff mencoder.c @ 16060:f3a003167683

fix invalid pointers passed to init_audio_filters
author reimar
date Fri, 22 Jul 2005 21:27:54 +0000
parents 0ccf19820216
children f0d22e076a7d
line wrap: on
line diff
--- a/mencoder.c	Fri Jul 22 21:10:48 2005 +0000
+++ b/mencoder.c	Fri Jul 22 21:27:54 2005 +0000
@@ -986,12 +986,15 @@
 			}
 			break;
 	}
-	if (do_init_filters) if(!init_audio_filters(sh_audio,
+	if (do_init_filters) {
+	  int out_srate = mux_a->wf->nSamplesPerSec;
+	  int out_channels = mux_a->wf->nChannels;
+	  if(!init_audio_filters(sh_audio,
 	    new_srate,
 	    sh_audio->channels,
 	    sh_audio->sample_format,
-	    &mux_a->wf->nSamplesPerSec,
-	    &mux_a->wf->nChannels,
+	    &out_srate,
+	    &out_channels,
 	    &out_format,
 	    out_minsize,
 	    out_maxsize))
@@ -999,6 +1002,9 @@
 		mp_msg(MSGT_CPLAYER, MSGL_FATAL, MSGTR_NoMatchingFilter);
 		mencoder_exit(1, NULL);
 	}
+	  mux_a->wf->nSamplesPerSec = out_srate;
+	  mux_a->wf->nChannels = out_channels;
+	}
 }
 
 parse_end_at();