summaryrefslogtreecommitdiffstats
path: root/dll_init.c
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-10 03:39:54 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-10 03:39:54 +0000
commitdda6708094e31b4bee948a48d4beaf2b2556d8f9 (patch)
tree951beee3ea2485c3827e7047931b3d26991816b3 /dll_init.c
parentc92a2dfa975d16c67f1d88bbf669a0b45a4d422a (diff)
downloadmpv-dda6708094e31b4bee948a48d4beaf2b2556d8f9.tar.bz2
mpv-dda6708094e31b4bee948a48d4beaf2b2556d8f9.tar.xz
new audio playback and A-V sync code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@747 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'dll_init.c')
-rw-r--r--dll_init.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/dll_init.c b/dll_init.c
index 6bee4a7a24..3f3a02eb9a 100644
--- a/dll_init.c
+++ b/dll_init.c
@@ -60,11 +60,12 @@ int init_acm_audio_codec(sh_audio_t *sh_audio){
if(verbose) printf("Audio codec opened OK! ;-)\n");
acmStreamSize(sh_audio->srcstream, in_fmt->nBlockAlign, &srcsize, ACM_STREAMSIZEF_SOURCE);
- if(srcsize<OUTBURST) srcsize=OUTBURST;
+ srcsize*=2;
+ if(srcsize<MAX_OUTBURST) srcsize=MAX_OUTBURST;
sh_audio->audio_out_minsize=srcsize; // audio output min. size
if(verbose) printf("Audio ACM output buffer min. size: %ld\n",srcsize);
- acmStreamSize(sh_audio->srcstream, 2*srcsize, &srcsize, ACM_STREAMSIZEF_DESTINATION);
+ acmStreamSize(sh_audio->srcstream, srcsize, &srcsize, ACM_STREAMSIZEF_DESTINATION);
sh_audio->audio_in_minsize=srcsize; // audio input min. size
if(verbose) printf("Audio ACM input buffer min. size: %ld\n",srcsize);
@@ -106,11 +107,12 @@ int acm_decode_audio(sh_audio_t *sh_audio, void* a_buffer,int len){
}
hr=acmStreamConvert(sh_audio->srcstream,&ash,0);
if(hr){
- printf("ACM_Decoder: acmStreamConvert error %d\n",(int)hr);
+ if(verbose>=2) printf("ACM_Decoder: acmStreamConvert error %d\n",(int)hr);
// return -1;
}
- if(verbose>=3) printf("acm converted %d -> %d\n",ash.cbSrcLengthUsed,ash.cbDstLengthUsed);
+ //if(verbose>=3)
+ printf("acm converted %d -> %d\n",ash.cbSrcLengthUsed,ash.cbDstLengthUsed);
if(ash.cbSrcLengthUsed>=sh_audio->a_in_buffer_len){
sh_audio->a_in_buffer_len=0;
} else {
@@ -138,8 +140,8 @@ int init_video_codec(sh_video_t *sh_video){
sh_video->o_bih.biSize = sizeof(BITMAPINFOHEADER);
win32_codec_name = sh_video->codec->dll;
- sh_video->hic = ICOpen( 0x63646976, sh_video->bih->biCompression, ICMODE_FASTDECOMPRESS);
-// sh_video->hic = ICOpen( 0x63646976, sh_video->bih.biCompression, ICMODE_DECOMPRESS);
+// sh_video->hic = ICOpen( 0x63646976, sh_video->bih->biCompression, ICMODE_FASTDECOMPRESS);
+ sh_video->hic = ICOpen( 0x63646976, sh_video->bih->biCompression, ICMODE_DECOMPRESS);
if(!sh_video->hic){
printf("ICOpen failed! unknown codec / wrong parameters?\n");
return 0;
@@ -260,19 +262,6 @@ int init_video_codec(sh_video_t *sh_video){
return 0;
}
-#if 0
-
-//sh_video->hic
-//ICSendMessage(HIC hic,unsigned int msg,long lParam1,long lParam2)
-{ int i;
- for(i=73;i<256;i++){
- printf("Calling ICM_USER+%d function...",i);fflush(stdout);
- ret = ICSendMessage(sh_video->hic,ICM_USER+i,NULL,NULL);
- printf(" ret=%d\n",ret);
- }
-}
-#endif
-
sh_video->our_out_buffer = shmem_alloc(sh_video->o_bih.biSizeImage);
if(!sh_video->our_out_buffer){
printf("not enough memory for decoded picture buffer (%ld bytes)\n", sh_video->o_bih.biSizeImage);