Diffstat (limited to 'core/multimedia/opieplayer/vorbis/tremor/block.c') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/vorbis/tremor/block.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/vorbis/tremor/block.c b/core/multimedia/opieplayer/vorbis/tremor/block.c index 8949253..7b5531b 100644 --- a/core/multimedia/opieplayer/vorbis/tremor/block.c +++ b/core/multimedia/opieplayer/vorbis/tremor/block.c @@ -221,18 +221,20 @@ int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi){ void vorbis_dsp_clear(vorbis_dsp_state *v){ int i; if(v){ vorbis_info *vi=v->vi; codec_setup_info *ci=(codec_setup_info *)(vi?vi->codec_setup:NULL); private_state *b=(private_state *)v->backend_state; if(v->pcm){ + if (vi) { for(i=0;i<vi->channels;i++) if(v->pcm[i])_ogg_free(v->pcm[i]); + } _ogg_free(v->pcm); if(v->pcmret)_ogg_free(v->pcmret); } /* free mode lookups; these are actually vorbis_look_mapping structs */ if(ci){ for(i=0;i<ci->modes;i++){ int mapnum=ci->mode_param[i]->mapping; |