[Mplayer-cvslog] CVS: main/libmpcodecs ad_qtaudio.c,1.4,1.5

Arpi of Ize arpi at mplayerhq.hu
Sat Dec 7 03:27:02 CET 2002


Update of /cvsroot/mplayer/main/libmpcodecs
In directory mail:/var/tmp.root/cvs-serv30001

Modified Files:
	ad_qtaudio.c 
Log Message:
fixed in/out framesize rounding bug (causing low-rate QCLP hangup/looping)
disabled TerminateQTML(), as it does carshing (due to patched InitializeQTML)


Index: ad_qtaudio.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ad_qtaudio.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ad_qtaudio.c	24 Nov 2002 21:49:52 -0000	1.4
+++ ad_qtaudio.c	7 Dec 2002 02:26:45 -0000	1.5
@@ -201,7 +201,7 @@
     printf("OutputBufferSize = %li\n",OutputBufferSize);
     printf("FramesToGet = %li\n",FramesToGet);
     
-    InFrameSize=InputBufferSize/FramesToGet;
+    InFrameSize=(InputBufferSize+FramesToGet-1)/FramesToGet;
     OutFrameSize=OutputBufferSize/FramesToGet;
 
     printf("FrameSize: %i -> %i\n",InFrameSize,OutFrameSize);
@@ -249,11 +249,11 @@
     printf("SoundConverterEndConversion:%i\n",error);
     error = SoundConverterClose(myConverter);
     printf("SoundConverterClose:%i\n",error);
-    error = TerminateQTML();
-    printf("TerminateQTML:%i\n",error);
-    FreeLibrary( qtml_dll );
-    qtml_dll = NULL;
-    printf("qt dll loader uninit done\n");
+//    error = TerminateQTML();
+//    printf("TerminateQTML:%i\n",error);
+//    FreeLibrary( qtml_dll );
+//    qtml_dll = NULL;
+//    printf("qt dll loader uninit done\n");
 }
 
 static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen){
@@ -290,7 +290,8 @@
 //    printf("ConvertedFrames = %li\n",ConvertedFrames);
 //    printf("ConvertedBytes = %li\n",ConvertedBytes);
     
-    InputBufferSize=(ConvertedBytes/OutFrameSize)*InFrameSize; // FIXME!!
+//    InputBufferSize=(ConvertedBytes/OutFrameSize)*InFrameSize; // FIXME!!
+    InputBufferSize=FramesToGet*InFrameSize;
     sh->a_in_buffer_len-=InputBufferSize;
     if(sh->a_in_buffer_len<0) sh->a_in_buffer_len=0; // should not happen...
     else if(sh->a_in_buffer_len>0){




More information about the MPlayer-cvslog mailing list