[Bug 741045] New: audiorate can can lose timestamp precision in some cases
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Dec 2 12:58:49 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=741045
GStreamer | gst-plugins-base | git
Summary: audiorate can can lose timestamp precision in some
cases
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: crh184 at psu.edu
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=292025)
View: https://bugzilla.gnome.org/attachment.cgi?id=292025
Review: https://bugzilla.gnome.org/review?bug=741045&attachment=292025
The git diff of the proposed change
Description:
The audiorate element uses gst_util_uint64_scale_int() for some time stamp
calculations, which truncates (rounds down), instead of
gst_util_uint64_scale_int_round(), which will round up when appropriate. Over
time very small time stamp drifts can occur in some circumstances. For code
that requires extremely strict time stamp consistency, this is a problem. The
attached diff simply updates these functions.
Steps to Reproduce:
I confess that the case where I encounter this is in a pipeline with custom
elements (doing gravitational-wave data analysis, which demands very precise
time stamp bookeeping). If this change is controversial, I will put the time
into coming up with a test case using "stock" elements. Please let me know.
Actual Results:
Timestamps can drift by approximately 1 ns over time
Expected results:
Exact timestamps that reflect the sample offset and the sample rate
Build Date & Platform:
patch against git checkout on Ubuntu 14.04. First noticed on 0.10.32 on
Scientific Linux 6.
The git diff is attached.
--
Configure bugmail: https://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