Reorder declaration and initialization of ci and hi so that declaraion is not occurri...
[platform/upstream/libvorbis.git] / lib / vorbisenc.c
index 3730dfa..f749eac 100644 (file)
@@ -452,7 +452,7 @@ static void vorbis_encode_blocksize_setup(vorbis_info *vi,double s,
   ci->blocksizes[1]=blocklong;
 
 }
-#include<stdio.h>
+
 static void vorbis_encode_residue_setup(vorbis_info *vi,
                                         int number, int block,
                                         const vorbis_residue_template *res){
@@ -903,8 +903,12 @@ int vorbis_encode_setup_vbr(vorbis_info *vi,
                             long  channels,
                             long  rate,
                             float quality){
-  codec_setup_info *ci=vi->codec_setup;
-  highlevel_encode_setup *hi=&ci->hi;
+  codec_setup_info *ci;
+  highlevel_encode_setup *hi;
+  if(rate<=0) return OV_EINVAL;
+
+  ci=vi->codec_setup;
+  hi=&ci->hi;
 
   quality+=.0000001;
   if(quality>=1.)quality=.9999;
@@ -948,9 +952,14 @@ int vorbis_encode_setup_managed(vorbis_info *vi,
                                 long nominal_bitrate,
                                 long min_bitrate){
 
-  codec_setup_info *ci=vi->codec_setup;
-  highlevel_encode_setup *hi=&ci->hi;
-  double tnominal=nominal_bitrate;
+  codec_setup_info *ci;
+  highlevel_encode_setup *hi;
+  double tnominal;
+  if(rate<=0) return OV_EINVAL;
+
+  ci=vi->codec_setup;
+  hi=&ci->hi;
+  tnominal=nominal_bitrate;
 
   if(nominal_bitrate<=0.){
     if(max_bitrate>0.){
@@ -1186,8 +1195,8 @@ int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){
       return(0);
     case OV_ECTL_COUPLING_SET:
       {
-        void *new_template;
-        double new_base;
+        const void *new_template;
+        double new_base=0.;
         int *iarg=(int *)arg;
         hi->coupling_p=((*iarg)!=0);