#39 VT82C686 mixer strange behavior

important
closed-wont-fix
Via Audio (17)
5
2001-12-13
2001-06-21
Anonymous
No

Not sure if this is a via82cxxx bug or a ac97_codec bug.

This bug is easiest to reproduce with xmms. Simply
play an MP3, and the GUI frequently becomes
unresponsive--you can't even move the window.

What's happening is, xmms periodically polls the mixer
to get the current volume, and this blocks the whole
app. The root of the problem can be demonstrated with
this code snip:

int i, fd;

fd = open("/dev/mixer", O_RDONLY);
while(1) {
fprintf(stderr, "before ioctl\n");
ioctl(fd, SOUND_MIXER_READ_DEVMASK, &i);
fprintf(stderr, "after ioctl\n");
}

When no sound is playing, this code will constantly
print "before ioctl" and "after ioctl", but once you
start playing sound, this code will frequently hang
(usually 2-15 seconds at a time) in the ioctl.

Discussion

  • Nobody/Anonymous

    Logged In: NO

    Also, you could probably use more info:

    VIA_VERSION is 1.1.14b (module)
    Kernel is stock 2.4.3 (Mandrake 8.0)
    xmms 1.2.4

    I have verified that if you remove the code in xmms that
    opens and polls the mixer, there is no hang.

     
  • Jeff Garzik

    Jeff Garzik - 2001-06-27
    • assigned_to: nobody --> jgarzik
     
  • Nobody/Anonymous

    Logged In: NO

    Ive experienced the EXACT same problem with my chaintech
    7AJA + onboard VIA686.

    it only happens with 44khz 128bit mp3's though, i've found
    that lower rated mp3's work fine. So does when playing
    mpegs using smpeg.

     
  • Nobody/Anonymous

    Logged In: NO

    This is happening for me with 2.4.6 and version 1.1.5 of
    Jeff's driver.
    If the hardware makes it a pain to read the current volume
    levels (it seems to make absolutely everything else you
    could want to do hard) then maybe the driver can "cache"
    these levels, since only it has enough privileges to change
    them anyway the "cached" values will always be correct.
    Right now, as the original reporter said stuff hangs for 5
    seconds, or 10 seconds, or for me sometimes 30 seconds.

     
  • Nobody/Anonymous

    Logged In: NO

    2.4.6 + via82cxxx driver 1.1.15 from this site
    This problem still happens

     
  • Nobody/Anonymous

    Logged In: NO

    the same problem happens here with kernel 2.4.8 and both the
    driver version which comes with this kernel and with 1.1.15.
    But the problem only occurs if I use EsounD (esd).

     
  • Jeff Garzik

    Jeff Garzik - 2001-11-01
    • labels: 101306 --> Via Audio
     
  • Jeff Garzik

    Jeff Garzik - 2001-12-13
    • status: open --> closed-wont-fix
     
  • Jeff Garzik

    Jeff Garzik - 2001-12-13

    Logged In: YES
    user_id=17443

    Due to large length of time where Via hardware and engineering
    time were unavailable, the Linux kernel Via audio driver is no
    longer supported by me (Jeff Garzik). My apologies in advance
    for any inconveniences this causes.

    Users are recommended to try the ALSA Via audio drivers at
    http://www.alsa-project.org/

     

Log in to post a comment.