1
0
Fork 0
forked from len0rd/rockbox

libtremor: merge upstream revision 17526 and 17531, adding some more error checking.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28766 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Nils Wallménius 2010-12-08 15:42:40 +00:00
parent f51d6e6507
commit 715749a7f4

View file

@ -199,7 +199,10 @@ static int _vds_init(vorbis_dsp_state *v,vorbis_info *vi){
if(!ci->fullbooks){
ci->fullbooks=(codebook *)_ogg_calloc(ci->books,sizeof(*ci->fullbooks));
for(i=0;i<ci->books;i++){
vorbis_book_init_decode(ci->fullbooks+i,ci->book_param[i]);
if(ci->book_param[i]==NULL)
goto abort_books;
if(vorbis_book_init_decode(ci->fullbooks+i,ci->book_param[i]))
goto abort_books;
/* decode codebooks are now standalone after init */
vorbis_staticbook_destroy(ci->book_param[i]);
ci->book_param[i]=NULL;
@ -247,6 +250,15 @@ static int _vds_init(vorbis_dsp_state *v,vorbis_info *vi){
}
return(0);
abort_books:
for(i=0;i<ci->books;i++){
if(ci->book_param[i]!=NULL){
vorbis_staticbook_destroy(ci->book_param[i]);
ci->book_param[i]=NULL;
}
}
vorbis_dsp_clear(v);
return -1;
}
int vorbis_synthesis_restart(vorbis_dsp_state *v){