summaryrefslogtreecommitdiffstats
path: root/dll_init.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-01 13:25:34 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-01 13:25:34 +0000
commitad74d199d9fe9319fa60dfec23f2e1efb86db8db (patch)
tree61051b782df73833a9000e1df49bb80124aad415 /dll_init.c
parentad8ea46df17d4d30cfc08a6e0f8b804097cedf14 (diff)
downloadmpv-ad74d199d9fe9319fa60dfec23f2e1efb86db8db.tar.bz2
mpv-ad74d199d9fe9319fa60dfec23f2e1efb86db8db.tar.xz
added vfw and acm uninit
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5450 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dll_init.c')
-rw-r--r--dll_init.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/dll_init.c b/dll_init.c
index bf08c5b985..9320ed7d97 100644
--- a/dll_init.c
+++ b/dll_init.c
@@ -177,6 +177,32 @@ int acm_decode_audio(sh_audio_t *sh_audio, void* a_buffer,int minlen,int maxlen)
return len;
}
+int close_acm_audio_codec(sh_audio_t *sh_audio)
+{
+ HRESULT ret;
+
+ ret = acmStreamClose(sh_audio->srcstream, 0);
+
+ if (ret)
+ switch(ret)
+ {
+ case ACMERR_BUSY:
+ case ACMERR_CANCELED:
+ mp_msg(MSGT_WIN32, MSGL_DBG2, "ACM_Decoder: stream busy, waiting..\n");
+ sleep(100);
+ return(close_acm_audio_codec(sh_audio));
+ case ACMERR_UNPREPARED:
+ case ACMERR_NOTPOSSIBLE:
+ return(0);
+ default:
+ mp_msg(MSGT_WIN32, MSGL_WARN, "ACM_Decoder: unknown error occured: %d\n", ret);
+ return(0);
+ }
+
+// MSACM_UnregisterAllDrivers();
+ return(1);
+}
+
int init_vfw_video_codec(sh_video_t *sh_video,int ex){
HRESULT ret;
int yuv=0;
@@ -412,6 +438,27 @@ int vfw_decode_video(sh_video_t* sh_video,void* start,int in_size,int drop_frame
return (int)ret;
}
+int vfw_close_video_codec(sh_video_t *sh_video, int ex)
+{
+ HRESULT ret;
+
+ ret = ICDecompressEnd(sh_video->hic);
+ if (ret)
+ {
+ mp_msg(MSGT_WIN32, MSGL_WARN, "ICDecompressEnd failed: %d\n", ret);
+ return(0);
+ }
+
+ ret = ICClose(sh_video->hic);
+ if (ret)
+ {
+ mp_msg(MSGT_WIN32, MSGL_WARN, "ICClose failed: %d\n", ret);
+ return(0);
+ }
+
+ return(1);
+}
+
/************************ VFW COMPRESSION *****************************/
static int encoder_hic=0;