[GEM-cvs] Gem/src/Pixes filmFFMPEG.cpp,1.17,1.18
Brought to you by:
zmoelnig
From: IOhannes m z. <zmo...@us...> - 2006-11-06 16:40:52
|
Update of /cvsroot/pd-gem/Gem/src/Pixes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2273 Modified Files: filmFFMPEG.cpp Log Message: better handling of decoding errors... Index: filmFFMPEG.cpp =================================================================== RCS file: /cvsroot/pd-gem/Gem/src/Pixes/filmFFMPEG.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** filmFFMPEG.cpp 21 Oct 2005 08:55:22 -0000 1.17 --- filmFFMPEG.cpp 6 Nov 2006 16:40:14 -0000 1.18 *************** *** 254,257 **** --- 254,266 ---- ptr, len); + if (ret < 0 ) { // TODO recover gracefully + for(i=0;i<4;i++){ + m_Picture.data[i]=NULL; + m_Picture.linesize[i]=0; + } + error("ffmpeg-error while decoding: %d", ret); + av_free_packet(&m_Pkt); + return &m_image; + } for(i=0;i<4;i++){ m_Picture.data[i]=m_avFrame.data[i]; *************** *** 266,271 **** #endif if (ret < 0 ) { // TODO recover gracefully ! post("error while decoding"); ! break; } len-=ret; --- 275,281 ---- #endif if (ret < 0 ) { // TODO recover gracefully ! error("ffmpeg-error %d while decoding", ret); ! av_free_packet(&m_Pkt); ! return &m_image; } len-=ret; *************** *** 292,296 **** // cannot convert yuv420 to yuv422 if (img_convert(&rgba,dstfmt,&m_Picture,fmt,width,height)<0) ! post("pix_film: image conversion failed (%d->%d)", fmt, dstfmt); if(m_wantedFormat==GL_RGBA){ m_image.image.swapRedBlue(); --- 302,306 ---- // cannot convert yuv420 to yuv422 if (img_convert(&rgba,dstfmt,&m_Picture,fmt,width,height)<0) ! error("ffmpeg-conversion failed (%d->%d)", fmt, dstfmt); if(m_wantedFormat==GL_RGBA){ m_image.image.swapRedBlue(); |