[gstreamer-bugs] [Bug 591934] timestamp drift in audioresample

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 18 19:31:25 PDT 2009


http://bugzilla.gnome.org/show_bug.cgi?id=591934



--- Comment #14 from Kipp <kcannon at ligo.caltech.edu> 2009-08-19 02:31:23 UTC ---
I'm not sure if this is an appropriate unit test, but the following pipeline
can be used to detect the timestamp drift from the command line:

gst-launch \
        audiotestsrc wave=0 freq=1024 samplesperbuffer=10 num-buffers=1000000 \
        ! audio/x-raw-float, channels=1, width=64, rate=16384 \
        ! audioresample \
        ! audio/x-raw-float, rate=4096 \
        ! testsink sync=false allowed-timestamp-deviation=0

With the original resampler, this pipeline terminates with the message

ERROR: from element /GstPipeline:pipeline0/GstTest:test0: The stream is in the
wrong format.
Additional debug info:
testplugin.c(223): gst_test_sink_event ():
/GstPipeline:pipeline0/GstTest:test0:
test timestamp-deviation returned value "8" and not expected value "0"

with the patched version, the pipeline runs to completion without an error
message.

Unfortunately gst-launch doesn't exit with a non-zero exit code when the
pipeline emits an error, so it's not easy to test for the failure from a shell
script.  One could grep for "timestamp-deviation" in the output to stderr:

gst-launch \
        audiotestsrc wave=0 freq=1024 samplesperbuffer=10 num-buffers=1000000 \
        ! audio/x-raw-float, channels=1, width=64, rate=16384 \
        ! audioresample \
        ! audio/x-raw-float, rate=4096 \
        ! testsink sync=false allowed-timestamp-deviation=0 2>&1 \
        | grep "timestamp-deviation" -q && echo "fail" || echo "pass"

-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list