[Bug 787683] alsamidisrc behavior with non-live sinks

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Sep 14 17:52:59 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=787683

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nicolas at ndufresne.ca

--- Comment #2 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Be aware, I'm not that familiar with that element and MIDI in general. It is
first time I ear someone is using alsamidisrc. I think the element have several
issues.

1. Tick duration is not always 10ms (there is an ALSA API to read it)
2. Tick time is indicated per event, right now we assume all events are on
consecutive ticks. That's wrong and worst you could have two events with the
same tick.

The problem with implementing get_times() is that you may endup loosing events.
Though, if you wait up to 1 tick duration, you should not be having issues.

I think the proper solution is to poll, but instead of a duration use a proper
timeout (calculate max delay from the clock). This way, instead of waiting
10ms, you look at the clock for when the next tick should happens, and wait at
most this time. After which, you produce a MIDI tick. As a side effect, if the
mini input is silence, you'll get a perfect stream of midi tick, without any
jitter.

-- 
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