Opened 13 years ago

Closed 10 years ago

#18 closed defect (fixed)

UNIAUD does not deal properly with audio buffers

Reported by: rwklein@… Owned by: rjerant
Priority: normal Milestone: MMPM/2 Compatibility
Component: UNIAUD16 Version: 1.1.4RC6
Severity: normal Keywords:
Cc:

Description

I reported this bug around July last year. I gues it got snowed in. Uniaud seems to have issue's with issue's with dealing with audio buffers. This bug does not only occur with the versions of which I reported this around 9 months ago. The problems are still there with the latest build from the Netlabs FTP server. Its also chipset independent and has been tested on about 5 machines. This audio buffer problems can result in hanging applications that can not be killed (waiting for an audio buffer event!?), audio device being blocked or even in some rare cases a system trap.

Vladest I have provided you with version of Quickmotion. Its licensed and included with each install of eComstation 1.2 or higher. I can send it to you privately again.

Old email I send:

With this same MPG file (bloopersextra.MPG) the audio playback results in hanging desktop (can still do a C-A-D). So something is chocking on the audio buffers !? I did get a TRAP once when playing MPEG files with IBM's open MPG. Can you pinpoint where this code >crashed ? Its not an easy bug to reproduce with UNIAUD. But it would be nice Valdest >if you could tell what your driver was doing when the system crashed. The UNIAUD >version in use is:

uniaud16.sys 61510 04-06-28 Signature: @#"OS/2 Universal Audio Driver Version":1.00.005#@ Vendor: "OS/2 Universal Audio Driver Ve Revision: 1.00.005 File Version: 1.0 Description: uniaud32.sys 451952 04-08-09 (No buildlevel information). (Time staps may not be correct)

This crash seems to be related to a bug in the MMOS/2 audio buffer handling. Exception in module: UNIAUD32 TRAP 000e ERRCD=0000 ERACC= ERLIM= EAX=00002046 EBX=00000000 ECX=f9d24ae4 EDX=f9d24ae4 ESI=f9d24ba8 EDI=ee244de8 EBP=ee18af1c FLG=00012046 CS:EIP=0168:ee242a65 CSACC=c09b CSLIM=ffffffff SS:ESP=1550:f9d24acc SSACC=c093 SSLIM=ffffffff DS=0160 DSACC=c093 DSLIM=ffffffff CR0=8001001b ES=0160 ESACC=c093 ESLIM=ffffffff CR2=00000094 FS=0000 FSACC= FSLIM= GS=0000 GSACC= GSLIM=

I sadly no longer have the memory dump. I know you can tell me to use the latest UNIAUD but so fat this is the most stable version in my opion.

Vladest with eCS 1.2 and UNIAUD the following files also don't playback properly or have sound problems:

Vladest you already know this one. It begins to play and then halts. http://os2.mensys.nl/rwklein/winsongs.mov. (75MB!)

Just tested again with the latest UNIAUD. It begins to play. audio stops after 10 seconds and then video dies.

This does not happen with the Soundmax driver.

http://os2.mensys.nl/rwklein/lou.avi No sound at all. Plays with the soundmax driver.

http://os2.mensys.nl/rwklein/frtrain.avi With UNIAUD NO sound but it plays back. The video player then can no longer be killed Plays oke with the soundmax driver.

Situation of last 2 testcases still the same.

Change History (20)

comment:1 Changed 13 years ago by rwklein@…

I just tested the frtrain.avi and then it played sound. But the moment the lou.avi started to play mozilla hanged it self. Again these kind of hangs don't occur with the Soundmax driver.

comment:2 Changed 13 years ago by anonymous

Additional comment on Mozilla hang. It could not be killed. Had to reboot my system.

comment:3 Changed 13 years ago by criguada_at_libero_nO_sPaM_it

I also have a problem with SDL games that may be linked to this issue. Games play with sound for a few seconds, than the audio dies. I can still go on playing but without audio. When I quit the game, I can still hear other audio sources. Initially I talked about this with Doodle (who ported SDL), but after various debugging sessions he told me the problem was with UNIAUD, and that he was in contact with you Vladest. So I hope you have all the details you need.

comment:4 Changed 13 years ago by vladest

  • Owner changed from vladest to anonymous
  • Status changed from new to assigned

Roderik, I'm keeping in mind this issue but still no solution for that. So work is going on

comment:5 Changed 13 years ago by rwklein@…

I would not be suprised if the problem with the MPG file and setting the sample rate to 11 Khz (which gives choppy playback) and switching it to 44Khz (with smooth playback) is somehow related). I also hear people have OS/2 system sounds are played but not always fully played (Short audio files seem to give troubles sometimes).

Roderick

comment:6 Changed 11 years ago by yoda

  • Cc yoda added

I just tried playing the 3 mentioned files with MPPM.EXE They play fine here.

Roderick, please tell us, if it works for you too, with UNIAUD 1.1.4 RC3

comment:7 follow-up: Changed 11 years ago by chennecke

I didn't see this with earlier releases but since updating to Uniaud 1.2 beta 1, the problem sometimes occurs when playing videos with WarpVision?. When the video is about to end, playing just stops. WarpVision? cannot be killed then (even using the XFree86/OS2 driver method doesn't work).

comment:8 in reply to: ↑ 7 ; follow-up: Changed 11 years ago by gentux2

Replying to chennecke:

I didn't see this with earlier releases but since updating to Uniaud 1.2 beta 1, the problem sometimes occurs when playing videos with WarpVision?. When the video is about to end, playing just stops. WarpVision? cannot be killed then (even using the XFree86/OS2 driver method doesn't work).

Earlier versions include 1.1.4RC3?

comment:9 in reply to: ↑ 8 Changed 11 years ago by chennecke

Replying to gentux2:

Replying to chennecke:

I didn't see this with earlier releases but since updating to Uniaud 1.2 beta 1, the problem sometimes occurs when playing videos with WarpVision?. When the video is about to end, playing just stops. WarpVision? cannot be killed then (even using the XFree86/OS2 driver method doesn't work).

Earlier versions include 1.1.4RC3?

Yes. My onboard audio chip is reported as AD1988B.

comment:10 Changed 11 years ago by yoda

  • Resolution set to worksforme
  • Status changed from assigned to closed

many changes to buffer handling for several versions, but no response from reporter

comment:11 Changed 11 years ago by chennecke

I don't see this problem with RC5 and Pauls resync builds anymore.

comment:12 follow-up: Changed 11 years ago by chennecke

  • Resolution worksforme deleted
  • Status changed from closed to reopened

Well, talk of the devil. WarpVision? locks up frequently again.

comment:13 in reply to: ↑ 12 ; follow-up: Changed 11 years ago by guest

Replying to chennecke:

Well, talk of the devil. WarpVision? locks up frequently again.

Helps adding in CONFIG.SYS the line SET MMBUF=49152 REM mmbuf is the size of the read buffer, default is 32768K or SET MMSTREAM=/H:256 REM mmstream is the heap space for the stream manager, default is 64K

comment:14 in reply to: ↑ 13 Changed 11 years ago by chennecke

Replying to guest:

No. I already had

SET MMSTREAM=/S:64 /P:64 /H:256 /Q:1024 /E:1024
SET MMYIELD=10

in CONFIG.SYS. Adding the MMBUF statement didn't result in any changes.

comment:15 Changed 11 years ago by chennecke

This problem seems to be gone with Paul's 1.9.2 release.

comment:16 Changed 10 years ago by gentux2

  • Cc yoda removed
  • Component changed from UNIAUD16 to UNIAUD32
  • Milestone set to milestone2
  • Priority changed from highest to normal
  • Version set to 1.1.4RC6

This might be more hardware-specific than is assumed. I'd rather see a testcase with AP2 so we can reproduce it, or else narrow it to which hardware is affected and get a log.

comment:17 Changed 10 years ago by rjerant

  • Component changed from UNIAUD32 to UNIAUD16
  • Owner changed from anonymous to rjerant
  • Status changed from reopened to new

comment:18 Changed 10 years ago by rjerant

I found a problem with the buffering of audio buffers when one of the buffers sent to the driver by MMPM is small. A test driver has been built and the source will be added to svn later in the week.

comment:19 Changed 10 years ago by rjerant

  • Status changed from new to assigned

Fix comitted to SVN revision 369. Will leave open till next release.

comment:20 Changed 10 years ago by psmedley

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.