1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-12 13:44:56 +02:00

Uses correct buffer size with OSS output

This commit is contained in:
Rafaël Carré 2006-11-30 14:39:52 +00:00
parent 7e40556bc3
commit 7f75b3a346

View File

@ -80,7 +80,7 @@ struct aout_sys_t
/* This must be a power of 2. */
#define FRAME_SIZE 1024
#define FRAME_COUNT 4
#define FRAME_COUNT 32
/*****************************************************************************
* Local prototypes
@ -104,7 +104,7 @@ static mtime_t BufferDuration( aout_instance_t * p_aout );
vlc_module_begin();
set_shortname( "OSS" );
set_description( _("Linux OSS audio output") );
set_description( _("UNIX OSS audio output") );
set_category( CAT_AUDIO );
set_subcategory( SUBCAT_AUDIO_AOUT );
@ -472,9 +472,9 @@ static int Open( vlc_object_t *p_this )
/* i_fragment = xxxxyyyy where: xxxx is fragtotal
* 1 << yyyy is fragsize */
i_fragments = 0;
i_frame_size = FRAME_SIZE * p_aout->output.output.i_bytes_per_frame;
while( i_frame_size >>= 1 )
i_frame_size = ((uint64_t)p_aout->output.output.i_bytes_per_frame * p_aout->output.output.i_rate * 65536) / (48000 * 2 * 2) / FRAME_COUNT;
i_fragments = 4;
while( i_fragments < 12 && (1U << i_fragments) < i_frame_size )
{
++i_fragments;
}