Stuttering/skipping audio through GStreamer?

I’ve just made the move to openSUSE* and after the installer seemed to bork my xorg.conf because of my Wacom tablet things have been going quite smoothly. My only problem at the moment is that MP3 playback through Exaile, Banshee or Totem stutters and pauses several times per track or more. The only commonality I can see is GStreamer, but nothing is giving me errors to the console.

rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' gstreamer-0_10-ffmpeg gstreamer-0_10-fluendo-mp3 gstreamer-0_10-fluendo-mpegdemux gstreamer-0_10-fluendo-mpegmux gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-ugly
gstreamer-0_10-ffmpeg-0.10.6-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mp3-0.10.7-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegdemux-0.10.15-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-bad-0.10.8-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-base-0.10.21-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-ugly-0.10.10-42.pm.2-x86_64 -> packman.links2linux.de

Anyone have any ideas or know how to debug this? I’ve had a look around the forums but people seem to either have no audio at all or are missing some codecs (I’ve installed more than I remember having to install in Fedora just to make sure).

Thanks.

  • I ditched Fedora to get better Monodevelop support after using Redhat 7.3 and 9 followed by FC 3 and 6 then Fedora 7, 8, 9 and 10. The Ubuntu forums seemed to keep giving me occasional answers to questions, but the Suse build service gave me the RPMs, when the requirements matched.

I’ve done a bit more poking and it does seem to be a GStreamer issue. I’ve been playing MP3s through XMMS for about 15 or 20 minutes now and not noticed any problems. Moved back to Exaile and it skipped again, but it’s never in the same place.

As mentioned in another thread, here’s the output of various diagnostic commands:

$ LC_ALL=C zypper ve
Loading repository data...
Reading installed packages...
Dependencies of all installed packages are satisfied.
$ rpm -qa --queryformat '%{NAME} -> %{VENDOR}
' | grep -i VideoLAN
$ rpm --verify --query --all 'libav*' 'libpostproc*' 'libswscale*'
$ rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' libxine1 libxine1-codecs
libxine1-1.1.16-0.pm.0-x86_64 -> packman.links2linux.de
libxine1-codecs-1.1.16-0.pm.0-x86_64 -> packman.links2linux.de
$ rpm --verify --query --all '*xine*'
$ rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' gstreamer-0_10-ffmpeg gstreamer-0_10-fluendo-mp3 gstreamer-0_10-fluendo-mpegdemux gstreamer-0_10-fluendo-mpegmux gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-ugly
gstreamer-0_10-ffmpeg-0.10.6-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mp3-0.10.7-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegdemux-0.10.15-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-bad-0.10.8-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-base-0.10.21-42.pm.2-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3-x86_64 -> packman.links2linux.de
gstreamer-0_10-plugins-ugly-0.10.10-42.pm.2-x86_64 -> packman.links2linux.de
$ rpm --verify --query --all '*gst*'
$ 

I didn’t bother with the MPlayer, VLC or Windows Codec checks as I’ve not installed them. All I’m trying for at the moment is smooth MP3 playback through GStreamer.

Thanks.

[edit] After saying that, I switched back to XMMS and it skipped a couple of times in a single track. I’m not getting any serious load spikes (I’ve got the load applet running), so it doesn’t look like it’d be load related.

If it helps in diagnosing things, I also get a lot of static if I use the “Sound” test while playing music as if the two are interfering. Everything is set to “Autodetect” except sound capture, but I get the same behaviour using Pulse Audio (which I’ve previously used in Fedora). ALSA is also affected by the static, but OSS isn’t.

Well, OSS seems to be working stutter-free for now, as far as I’ve noticed. Still, I was using Pulse Audio for a while on Fedora without a problem (other than one new install where I didn’t get sound until I had logged in once as root, but that was just after a new install and never happened again) so it seems a bit odd that it has such problems on Suse.

i had the same problem - uninstalling pulse solved it

That’s effectively what I’ve done by using OSS, but it seems like a poor solution. Pulse worked perfectly fine on Fedora for the last couple of releases, so the technology is ready. Even if it is a solution, I shouldn’t need to use the old sound servers when the new sound server should be capable.

The only other thing I thought is that I’ve got a Soundblaster card. It should be a supported one because it’s about five years old or more, but if I remember then I’ll try on-board sound next time I’m on my computer.

Sorry for double posting - I would edit, but I waited too long.

I just did a quick search at the start of lunch and came across a Suse page with a section on glitches in audio playback. There’s a fix in there that I’ll check, and a link to a resolved bug report that links to a PulseAudio developer blog post that explains the issue. Hopefully that’ll give me a real solution without resorting to removing PulseAudio :slight_smile:

wonders why he didn’t think of searching for “glitches”

I tried swapping from my sound card to on-board (I don’t need the card, but I used it anyway - it’s a “SBLive! Value [CT4780]” if it makes a difference) but despite OSS working with on-board and PulseAudio picking up things and showing them playing, I didn’t get any audio out of on-board at all when using Pulse!

curses ten minute edit period

Ah, it looks like I already have the settings that the Wiki page mentions and I still get the occasional stutter :\ So, if I use Pulse in Suse I either get odd glitches from my Soundblaster or I get nothing from my on-board!

Exactly the same here, I think. When uninstalling pulse, I have stutter free MP3 playback. But no sound on webvideo (esound doesn’t seem to work there). When reverting to pulseaudio, I have websound, but stuttering (and also the video-stream stutters).
I tried the same things, and the perfect install on the pulseaudio-website too (some dependencies were missing though).
I must go to work now, but will check this thread later on. perhaps we can figure something out, hopefully, or just wait untill some magician comes around.:wink:

Best of luck

At least I’m not the only one with the problem and wanting to fix it :slight_smile:

As I said, it’s not major stuttering, but it’s definitely there. Some songs I’ll notice four or five pauses in, others seem to play without a glitch. Going back and replaying the glitched part doesn’t repeat the glitch, so it isn’t the files themselves that contain the glitch.

If I use OSS on my Soundblaster or onboard (an nvidia chip on Gigabyte mobo) then I get audio. If I use Pulse with my soundblaster I get occasional glitches and if I use Pulse with my onboard I get nothing (although I’m going to check again and make sure Pulse was actually sending to onboard after I set it to default - I saw the meters for the app move, but I’m not 100% sure I checked the meters on the card).

It must be possible - my Fedora install was only F9 with PulseAudio 0.9.10, and that worked fine on identical hardware - it’s just a case of working out what is happening where and why :slight_smile:

I can confirm that: my soundcard is a soundblaster too:

cat /etc/modprobe.d/sound

options snd slots=snd-ens1371
# M71A.JYL4K7uOcf9:Creative Sound Blaster AudioPCI64V, AudioPCI128
alias snd-card-0 snd-ens1371

And my alsa:

cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.17.

My onboard soundcard (on a KT4V ATX motherboard, with a VIA KT400 chipset and AMD Athlon processor) is dead while using pulse. But that could just be me, doing something wrong.:wink:

My desktop i368 pc was upgraded from 11.0 to 11.1 when 11.1 was released as a stable version. I use KDE 4.1 as a gui. In 11.0 I didn’t have this problem. I tried a clean install for 11.1 and I created the same problem with pulse.

What differs from your situation is that changing to OSS doesn’t seem to work for me.
What differs also is the “amount of stuttering”: it stutters the hell out of me!! It’s awfull. MP3-playback starts gently and stutterfree but then it begins soon enough and builds up, untill it stutters about 3 times a second. The same with watching youtube.

What you should do, is not clear to me, as I’m as puzzled on this as you are.:frowning: Perhaps a moderator can step in?

Here is the result of the same code-checking you did, inspired by:

http://forums.opensuse.org/applications/multimedia/400119-check-your-multimedia-problem-ten-steps.html

.

LC_ALL=C zypper ve
Loading repository data...
Reading installed packages...
Dependencies of all installed packages are satisfied.

rpm -qa --queryformat '%{NAME} -> %{VENDOR}
' | grep -i VideoLAN
libdvdcss -> VideoLAN Project (http://www.videolan.org)

rpm --verify --query --all 'libav*' 'libpostproc*' 'libswscale*'

rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' libxine1 libxine1-codecs
libxine1-1.1.15-44.pm.2-i586 -> packman.links2linux.de
libxine1-codecs-1.1.15-44.pm.2-i686 -> packman.links2linux.de

rpm --verify --query --all '*xine*'

rpm --query --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' gstreamer-0_10-ffmpeg gstreamer-0_10-fluendo-mp3 gstreamer-0_10-fluendo-mpegdemux gstreamer-0_10-fluendo-mpegmux gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-base gstreamer-0_10-plugins-good gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-ugly
gstreamer-0_10-ffmpeg-0.10.6-42.pm.1-i586 -> packman.links2linux.de
gstreamer-0_10-fluendo-mp3-0.10.7-42.pm.2-i586 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegdemux-0.10.15-42.pm.1-i586 -> packman.links2linux.de
gstreamer-0_10-fluendo-mpegmux-0.10.4-42.pm.1-i586 -> packman.links2linux.de
gstreamer-0_10-plugins-bad-0.10.8-6.5-i586 -> openSUSE
gstreamer-0_10-plugins-base-0.10.21-42.pm.1-i586 -> packman.links2linux.de
gstreamer-0_10-plugins-good-0.10.10-42.pm.3-i586 -> packman.links2linux.de
gstreamer-0_10-plugins-good-extra-0.10.10-42.pm.3-i586 -> packman.links2linux.de
gstreamer-0_10-plugins-ugly-0.10.10-42.pm.2-i586 -> packman.links2linux.de

rpm --verify --query --all '*gst*'

rpm --verify MPlayer

rpm --verify --query --all '*vlc*'


Well, that was nice. What it means I don’t know, but many things look the same as in your situation.:\

When this is not solved/can’t be solved on this forum, I think it’s time to post a bug or confirm one with the config, if already there?

Best of Luck

Just to fill in the same details:

/etc/modprobe.d/sound:

options snd slots=snd-intel8x0,snd-emu10k1
# 75Hn.D1OoVvAqQ27:CT4780 SBLive! Value
alias snd-card-1 snd-emu10k1
# 8otl.zdrynGGY9MD:CK804 AC'97 Audio Controller
alias snd-card-0 snd-intel8x0

/proc/asound/version

Advanced Linux Sound Architecture Driver Version 1.0.17.

Overall sound quality tends to start okay but then trail off as I go - so the first few songs are okay but after an hour it’s skipping a couple of times per track. I’m normally only on my computer a couple of hours, so it never gets too terrible.

Also, it does look like on-board sound isn’t outputting anything because Pulse isn’t giving it anything. I’ve just gone in to the Volume Control and forcefully moved Exaile to my on-board sound and now I get sound from it. I’ll see how on-board does and whether it’s SoundBlaster related (and before anyone asks - yes, the on-board is set as the default in the Pulse settings, but things were still going to the Soundblaster)

Here’s some extra bits I’ve poked, in case it helps.

grep -i pulse /var/log/messages:

Jan 16 19:03:45 ankhmorpork pulseaudio[4518]: pid.c: Stale PID file, overwriting.
Jan 16 19:03:46 ankhmorpork pulseaudio[4518]: alsa-util.c: Device front:0 doesn't support 44100 Hz, changed to 48000 Hz.
Jan 16 19:03:46 ankhmorpork pulseaudio[4518]: alsa-util.c: Device front:0 doesn't support 44100 Hz, changed to 48000 Hz.

Nothing obviously bad there.

pulseaudio --dump-modules

W: main.c: High-priority scheduling enabled in configuration but not allowed by policy.
W: ltdl-bind-now.c: Failed to find original dlopen loader.
module-alsa-sink                        ALSA Sink
module-alsa-source                      ALSA Source
module-always-sink                      Always keeps at least one sink loaded even if it's a null one
module-cli                              Command line interface
module-cli-protocol-tcp                 Command line interface protocol (TCP sockets)
module-cli-protocol-unix                Command line interface protocol (UNIX sockets)
module-combine                          Combine multiple sinks to one
module-console-kit                      Create a client for each ConsoleKit session of this user
module-default-device-restore           Automatically restore the default sink and source
module-detect                           Detect available audio hardware and load matching drivers
module-device-restore                   Automatically restore the volume/mute state of devices
module-esound-compat-spawnfd            ESOUND compatibility module: -spawnfd emulation
module-esound-compat-spawnpid           ESOUND compatibility module: -spawnpid emulation
module-esound-protocol-tcp              ESOUND protocol (TCP sockets)
module-esound-protocol-unix             ESOUND protocol (UNIX sockets)
module-esound-sink                      ESOUND Sink
module-gconf                            GConf Adapter
module-hal-detect                       Detect available audio hardware and load matching drivers
module-http-protocol-tcp                HTTP (TCP sockets)
module-http-protocol-unix               HTTP (UNIX sockets)
module-ladspa-sink                      Virtual LADSPA sink
module-lirc                             LIRC volume control
module-match                            Playback stream expression matching module
module-mmkbd-evdev                      Multimedia keyboard support via Linux evdev
module-native-protocol-fd               Native protocol autospawn helper
module-native-protocol-tcp              Native protocol (TCP sockets)
module-native-protocol-unix             Native protocol (UNIX sockets)
module-null-sink                        Clocked NULL sink
module-oss                              OSS Sink/Source
module-pipe-sink                        UNIX pipe sink
module-pipe-source                      UNIX pipe source
module-position-event-sounds            Position event sounds between L and R depending on the position on screen of the widget triggering them.
module-remap-sink                       Virtual channel remapping sink
module-rescue-streams                   When a sink/source is removed, try to move their streams to the default sink/source
module-rtp-recv                         Recieve data from a network via RTP/SAP/SDP
module-rtp-send                         Read data from source and send it to the network via RTP/SAP/SDP
module-simple-protocol-tcp              Simple protocol (TCP sockets)
module-simple-protocol-unix             Simple protocol (UNIX sockets)
module-sine                             Sine wave generator
module-stream-restore                   Automatically restore the volume/mute/device state of streams
module-suspend-on-idle                  When a sink/source is idle for too long, suspend it
module-tunnel-sink                      Tunnel module for sinks
module-tunnel-source                    Tunnel module for sources
module-volume-restore                   Automatically restore the volume and the devices of streams
module-x11-bell                         X11 bell interceptor
module-x11-publish                      X11 credential publisher
module-x11-xsmp                         X11 session management
module-zeroconf-discover                mDNS/DNS-SD Service Discovery
module-zeroconf-publish                 mDNS/DNS-SD Service Publisher
E: modinfo.c: Failed to open module "/usr/lib/module-init-tools": file not found
E: modinfo.c: Failed to open module "/usr/lib/module-init-tools": file not found

Some warnings, but nothing seemingly terrible.

pactl stat

Currently in use: 62 blocks containing 162.6 KiB bytes total.
Allocated during whole lifetime: 83180 blocks containing 235.4 MiB bytes total.
Sample cache size: 0 B
User name: ibboard
Host Name: ankhmorpork
Server Name: pulseaudio
Server Version: 0.9.12
Default Sample Specification: s16le 2ch 44100Hz
Default Sink: alsa_output.pci_10de_59_sound_card_0_alsa_playback_0
Default Source: alsa_input.pci_1102_2_sound_card_0_alsa_capture_0
Cookie: 0c92d72f

Too late to edit again.

Forcefully moving the audio seems to work so far with one quite major annoyance - each track Exaile plays is a new stream, so it resets back to the SoundBlaster. This is despite the fact that I started the padevchooser applet, made sure “Default Sink” is set to “default” and that the on-board sound is set as the default in the volume control. On-board sound also gets the same static when piping both Exaile and the test sound to it.

This is all very strange!

IBBoard,

obviously you’re no newb and you’ve made it clear that you don’t want to use outdated technology…BUT…

Have you tried to downgrade the particular pulseaudio…maybe just one or two versions down?

Pretty easy to do through Yast…let us know if you need assistance w/ that…

I have had problems in the past with gstreamer and various other packages that an individual downgrade and ignoring upgrades has fixed…

I don’t mind using a few minor versions older of something, I’d just rather use Pulse when it’s available :slight_smile: As I said, I was using 0.9.10 on Fedora, so I’ve been using an older version until recently anyway.

I’ll have a hunt around and see what I can find. I just hadn’t thought of old versions of Pulse because Suse 11.1 came with 0.9.12. Time to use one of the useful Suse features - the software search :slight_smile:

[edit] Hmmmm, looks like the software search only brings up 0.9.12 and later. No-one is listed as having a 0.9.11 or earlier build available.

I don’t know if it was a Packman codec update the other day or the fact that I’ve only been online an hour or so and have been testing on-board sound as well, but so far things seem more stable. If it goes down hill (especially on Sunday when I’ll be at my computer more) I might try something like the GNOME:Factory:Next/openSUSE_11.1 builds (which are .13 at the moment) or someone’s “home” build.

Actually, I think it would be easier to use Yast and simply downgrade the particular package you’re currently using, rather than looking through the build service…

In Gnome’s Yast Software Installer, you would go to “Currently Installed,” tab on top left, and on the bottom right of the window is the “Currently Available,” tab. Click there and you should be able to choose an older version and have it downgraded right from Yast…it’s just easier to pick one from the same repo’s you’re using now than to pick something from another repo and have to add it, etc.

Hope that helps!

I’ll have a look at that, I’d just presumed that I was already running the oldest available version.

[edit] Yep, all I see in “Software Manager” for “pulseaudio” is 0.9.12-9.5 for 64-bit or -9.6 for i586. Looks like it hasn’t been updated since 11.1 was released so there’s nothing to downgrade to.

not that this is the best advice, but you can add an 11.0 repository, downgrade to an 11.0 package, test and either remove the repository or package & repository depending on whether it worked or not…

I know what youre thinking, but remember 11.1 supercedes 11.0 so nothing SHOULD go wrong :slight_smile: Good Luck…

I guess thats why you were searching via buildservice, sorry…

Yeah, I was expecting to find either the old 11.0 repo or someone else’s repo, but it didn’t show me anything. I’ll find the 11.0 details tomorrow and try a downgrade :slight_smile:

Hello penguins,

Thank you studentpenguin for trying to help. I’ll try downgrading pulse later. Can you give me any clue about consequences for dependencies and Alsa? Must these be downgrade too?

I wandered about a bit and started editing my daemon.conf. My changes were without knowing what I was doing, just following diverse tips for getting pulse to work with skype and for a pulseaudio perfect install, on pulseaudio.org. And it actually achieved something: I have stutter-free MP3 playback in Amarok, using Xine with pulse. Streamed audio (eMusic.com) and video (dutch tv-streams Nederland 4 :, diverse bbc-streams, youtube) still stutters, but it doesn’t effect playback in Amarok anymore.

My old daemon.conf (only the uncommented lines)

 default-fragments = 8
 default-fragment-size-msec = 5

default-sample-channels = 2

My new daemon.conf

high-priority = yes
nice-level = -11

realtime-scheduling = yes
realtime-priority = 5

resample-method = speex-float-3

default-fragments = 8
default-fragment-size-msec = 5

default-sample-channels = 2

Is this of any use for you?

What puzzles me is that a clear diagnostic for both of us is still missing, in my humble opinion. Or at least for my situation.
Do we have a pulseproblem? When I installed Esound as a replacement, I had no sound at all in firefox 3.05 (though stutterfree playback in Amarok was working like a charm)
Or do we have a firefox-flash problem? It is possible, since I have good playback in Amarok and am having only problems in firefox (Konqueror gives no image or sound at all, but I don’t want to complicate this thread).
Or even worse: a gloomy combination of these:’(.

Okay, what the hack. I’ll try downgrading with a 11.0 repository. lol!

Cheers, akaper