]> git.sesse.net Git - vlc/blobdiff - src/audio_output/aout_s16.c
* Mandatory step for video output IV and the audio output quality
[vlc] / src / audio_output / aout_s16.c
index cacfe01308c6438ec1fd916840ba3b86ab53e129..a0a41a230d7417a03d677d92631c2e29301bb748 100644 (file)
@@ -80,28 +80,45 @@ void aout_S16StereoThread( aout_thread_t * p_aout )
 
         for ( l_buffer = 0; l_buffer < l_buffer_limit; l_buffer++ )
         {
-            ((s16 *)p_aout->buffer)[l_buffer] = (s16)( ( p_aout->s32_buffer[l_buffer] / AOUT_MAX_FIFOS ) * p_aout->vol / 256 ) ;
+            ((s16 *)p_aout->buffer)[l_buffer] =
+                     (s16)( ( p_aout->s32_buffer[l_buffer] / AOUT_MAX_FIFOS )
+                            * p_aout->i_vol / 256 ) ;
             p_aout->s32_buffer[l_buffer] = 0;
         }
 
         l_bytes = p_aout->pf_getbufinfo( p_aout, l_buffer_limit );
-       //fprintf(stderr,"l_bytes 1: %li\n",l_bytes);
-       //fprintf(stderr,"  playing...\n");
-        p_aout->date = mdate() + ((((mtime_t)(l_bytes / 4)) * 1000000) / ((mtime_t)p_aout->l_rate)); /* sizeof(s16) << (p_aout->b_stereo) == 4 */
-        p_aout->pf_play( p_aout, (byte_t *)p_aout->buffer, l_buffer_limit * sizeof(s16) );
-       //fprintf(stderr,"l_bytes #: %li\n",p_aout->pf_getbufinfo( p_aout, l_buffer_limit ));
+#if 0
+        fprintf(stderr,"l_bytes 1: %li\n",l_bytes);
+        fprintf(stderr,"  playing...\n");
+#endif
+
+        /* sizeof(s16) << (p_aout->b_stereo) == 4 */
+        p_aout->date = mdate() + ((((mtime_t)(l_bytes / 4)) * 1000000)
+                                   / ((mtime_t)p_aout->l_rate));
+        p_aout->pf_play( p_aout, (byte_t *)p_aout->buffer,
+                         l_buffer_limit * sizeof(s16) );
+#if 0
+        fprintf( stderr,"l_bytes #: %li\n",
+                 p_aout->pf_getbufinfo( p_aout, l_buffer_limit ) );
+#endif
+
         if ( l_bytes > (l_buffer_limit * sizeof(s16)) )
         {
-       //fprintf(stderr,"  sleeping...\n");
+            msleep( p_aout->l_msleep );
+#if 0
+            fprintf(stderr,"  sleeping...\n");
             msleep( p_aout->l_msleep / 2);
-        l_bytes = p_aout->pf_getbufinfo( p_aout, l_buffer_limit );
-       //fprintf(stderr,"l_bytes *: %li\n",l_bytes);
+            l_bytes = p_aout->pf_getbufinfo( p_aout, l_buffer_limit );
+            fprintf(stderr,"l_bytes *: %li\n",l_bytes);
             msleep( p_aout->l_msleep / 2);
         }
-       else
-       //fprintf(stderr,"  not sleeping.\n");
-        l_bytes = p_aout->pf_getbufinfo( p_aout, l_buffer_limit );
-       //fprintf(stderr,"l_bytes 2: %li\n\n",l_bytes);
+        else
+        {
+            fprintf(stderr,"  not sleeping.\n");
+            l_bytes = p_aout->pf_getbufinfo( p_aout, l_buffer_limit );
+            fprintf(stderr,"l_bytes 2: %li\n\n",l_bytes);
+#endif
+        }
     }
 
     vlc_mutex_lock( &p_aout->fifos_lock );