[Bug 16329] Make test fails in ds3d.c
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Aug 18 01:13:23 CDT 2010
http://bugs.winehq.org/show_bug.cgi?id=16329
--- Comment #11 from Raymond <superquad.vortex2 at gmail.com> 2010-08-18 01:13:23 ---
(In reply to comment #10)
> Does this post have anything to do with it?
>
> http://www.winehq.org/pipermail/wine-devel/2006-September/051025.html
The point is the maximum size of the buffer of the alsa driver of most PCI
sound cards is about 64K bytes and snd_pcm_hw_constraint_integer(runtime,
SNDRV_PCM_HW_PARAM_PERIODS) i.e. buffer size is a multiple of period size
The proposed patch does not work and I guess his sound card does not support
44100Hz since those dsound wav are 22050Hz in early day
bufffer size = 48000 , i.e. 48000 x 2 x 2 = 192,000bytes
- unsigned int buffer_time = 500000;
- unsigned int period_time = 10000;
- snd_pcm_uframes_t buffer_size;
- snd_pcm_uframes_t period_size;
+ snd_pcm_uframes_t buffer_size = 48000;
+ snd_pcm_uframes_t period_size = 1024;
int flags;
int err=0;
int dir=0;
@@ -2561,15 +2559,16 @@ #define EXIT_ON_ERROR(f,e,txt) do \
wwo->format.Format.nChannels,
getFormat(wwo->format.Format.wFormatTag));
- dir=0;
- EXIT_ON_ERROR( snd_pcm_hw_params_set_buffer_time_near(pcm, hw_params,
&buffer_time, &dir), MMSYSERR_INVALPARAM, "unable to set buffer time");
- dir=0;
- EXIT_ON_ERROR( snd_pcm_hw_params_set_period_time_near(pcm, hw_params,
&period_time, &dir), MMSYSERR_INVALPARAM, "unable to set period time");
+ buffer_size = buffer_size / ( snd_pcm_format_physical_width(format) *
wwo->format.Format.nChannels );
+ snd_pcm_uframes_t buffer_size_old = buffer_size;
+ EXIT_ON_ERROR( snd_pcm_hw_params_set_buffer_size_near(pcm, hw_params,
&buffer_size), MMSYSERR_INVALPARAM, "unable to set buffer size");
+ dir=0;
+ EXIT_ON_ERROR( snd_pcm_hw_params_set_period_size_near(pcm, hw_params,
&period_size, &dir), MMSYSERR_INVALPARAM, "unable to set period time");
+ if(buffer_size != buffer_size_old) ERR("buffer_size:%i
buffer_size_old:%i\n", (int)buffer_size, (int)buffer_size_old);
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list