summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorkomh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-02-19 13:50:16 +0000
committerkomh <komh@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-02-19 13:50:16 +0000
commit0599ce10ab56e239b1e79cbcc35e65b391712700 (patch)
treeb1778a06321c1358f766c02aa4993b34d20e1e67 /libmpcodecs
parentc9cf9649cfa058af6684b66ebae331fc17f592db (diff)
downloadmpv-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
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ad_qtaudio.c9
-rw-r--r--libmpcodecs/vd_qtvideo.c4
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;