diff options
author | komh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-02-19 13:50:16 +0000 |
---|---|---|
committer | komh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-02-19 13:50:16 +0000 |
commit | 0599ce10ab56e239b1e79cbcc35e65b391712700 (patch) | |
tree | b1778a06321c1358f766c02aa4993b34d20e1e67 | |
parent | c9cf9649cfa058af6684b66ebae331fc17f592db (diff) | |
download | mpv-0599ce10ab56e239b1e79cbcc35e65b391712700.tar.bz2 mpv-0599ce10ab56e239b1e79cbcc35e65b391712700.tar.xz |
Fix the stack crash(SYS3171) on OS/2 when playing qtaudio/qtvideo.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30656 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpcodecs/ad_qtaudio.c | 9 | ||||
-rw-r--r-- | libmpcodecs/vd_qtvideo.c | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libmpcodecs/ad_qtaudio.c b/libmpcodecs/ad_qtaudio.c index 188238233c..2ee0c7e8e7 100644 --- a/libmpcodecs/ad_qtaudio.c +++ b/libmpcodecs/ad_qtaudio.c @@ -277,6 +277,11 @@ static void uninit(sh_audio_t *sh){ int error; unsigned long ConvertedFrames=0; unsigned long ConvertedBytes=0; + +#ifdef WIN32_LOADER + Setup_FS_Segment(); +#endif + error=SoundConverterEndConversion(myConverter,NULL,&ConvertedFrames,&ConvertedBytes); mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"SoundConverterEndConversion:%i\n",error); error = SoundConverterClose(myConverter); @@ -300,6 +305,10 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen) unsigned long ConvertedFrames=0; unsigned long ConvertedBytes=0; +#ifdef WIN32_LOADER + Setup_FS_Segment(); +#endif + FramesToGet=minlen/OutFrameSize; if(FramesToGet*OutFrameSize<minlen && (FramesToGet+1)*OutFrameSize<=maxlen) ++FramesToGet; diff --git a/libmpcodecs/vd_qtvideo.c b/libmpcodecs/vd_qtvideo.c index 5120f612b5..8e73c84753 100644 --- a/libmpcodecs/vd_qtvideo.c +++ b/libmpcodecs/vd_qtvideo.c @@ -316,6 +316,10 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){ sh->disp_w, sh->disp_h); if(!mpi) return NULL; +#ifdef WIN32_LOADER + Setup_FS_Segment(); +#endif + decpar.data = (char*)data; decpar.bufferSize = len; (**framedescHandle).dataSize=len; |