After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 594136 - [alsasink] Regression from 0.10.23 -- element reuse doesn't work
[alsasink] Regression from 0.10.23 -- element reuse doesn't work
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.26
Other Linux
: Normal normal
: 0.10.25
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-04 13:09 UTC by Sergiy Borodych
Modified: 2009-09-09 14:23 UTC
See Also:
GNOME target: 2.26.x
GNOME version: 2.25/2.26


Attachments
play_and_skip.pl (1.42 KB, text/x-perl)
2009-09-04 13:09 UTC, Sergiy Borodych
Details
play_and_skip.py (745 bytes, text/x-python)
2009-09-04 13:09 UTC, Sergiy Borodych
Details

Description Sergiy Borodych 2009-09-04 13:09:20 UTC
Created attachment 142474 [details]
play_and_skip.pl

After upgrade from gst-plugins-base-0.10.23 to gst-plugins-base-0.10.24 (on
Gentoo Linux)
 I found bug:
 After song played gmb switch to next song and pause appear (progress bar
freeze) - it waiting couple minutes and then start play.

So I start topic at 
 https://sourceforge.net/forum/message.php?msg_id=7565832
and by Quentin helping me discover this problem

so I attached 2 scripts (perl and python)
those script try play first 10 sec from each given files from command line

in 0.10.23 all ok - play 10sec each file
but in 0.10.24 (and from git too) - only first file played

run like: 
GST_REGISTRY_FORK="no" GST_REGISTRY_UPDATE="no" GST_DEBUG_NO_COLOR=1
GST_DEBUG=2 perl play_and_skip.pl /path/to/*.(mp3|ogg)

after all investigations we discovering that problem exists only if use
alsasink,
if I change sink to osssink, pulsesink, etc - all works fine
Comment 1 Sergiy Borodych 2009-09-04 13:09:53 UTC
Created attachment 142475 [details]
play_and_skip.py
Comment 2 Sebastian Dröge (slomo) 2009-09-08 13:08:34 UTC
I can confirm this here, with GIT and alsasink it doesn't work while it works just fine with other sinks (pulsesink at least). Not sure what the problem here is... alsasink correctly receives the decoded buffers from the second and following files and writes them but nothing can be heard.
Comment 3 Wim Taymans 2009-09-09 14:23:53 UTC
pulsesink has code to deal with a ringbuffer reset. This code is now added to the baseaudiosink (and will be removed from pulsesink)

commit fe47c6c4d51ed764d823d2d797db2a13b65712e1
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Wed Sep 9 16:19:32 2009 +0200

    baseaudiosink: correct for clock reset
    
    When going to NULL, we reset the ringbuffer so that it starts beck from 0. We
    also make sure that the clock is updated with the elapsed time so that it
    alsways increments even when the ringbuffer goes back to 0. When this happened
    we need to adjust the sample position for the reset ringbuffer.
    
    Fixes #594136