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:
parent
f51d6e6507
commit
715749a7f4
1 changed files with 13 additions and 1 deletions
|
|
@ -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){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue