diff options
-rw-r--r-- | apps/codecs/libtremor/block.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/codecs/libtremor/block.c b/apps/codecs/libtremor/block.c index abf216611a..a86668a521 100644 --- a/apps/codecs/libtremor/block.c +++ b/apps/codecs/libtremor/block.c @@ -158,6 +158,8 @@ static int _vds_init(vorbis_dsp_state *v,vorbis_info *vi){ codec_setup_info *ci=(codec_setup_info *)vi->codec_setup; private_state *b=NULL; + if(ci==NULL) return 1; + memset(v,0,sizeof(*v)); v->reset_pcmb=true; b=(private_state *)(v->backend_state=_ogg_calloc(1,sizeof(*b))); @@ -277,10 +279,10 @@ int vorbis_synthesis_restart(vorbis_dsp_state *v){ } int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi){ - _vds_init(v,vi); + if(_vds_init(v,vi))return 1; vorbis_synthesis_restart(v); - return(0); + return 0; } void vorbis_dsp_clear(vorbis_dsp_state *v){ @@ -515,7 +517,7 @@ int vorbis_synthesis_pcmout(vorbis_dsp_state *v,ogg_int32_t ***pcm){ } return(v->pcm_current-v->pcm_returned); } - return(0); + return 0; } int vorbis_synthesis_read(vorbis_dsp_state *v,int bytes){ |