[FFmpeg-devel] [Jack-Devel] [PATCH] libavdevice: JACK demuxer

Olivier Guilyardi list
Fri Mar 6 21:45:38 CET 2009


Attached: jack demuxer patch version 0.9

This patch fixes compatibility with the timefilter now that it has been applied
to the svn trunk (as of r17850), and modified.

It also features safer protection against packet underruns.

Plus some comments and log messages improvements.

Warning: as of r17855, the timefilter is not activated in the trunk. For the
jack demuxer 0.9 patch to work, you must activate the timefilter in
libavformat/Makefile, by adding timefilter.o to the list of OBJS.

Michael Niedermayer wrote:
> On Fri, Mar 06, 2009 at 12:06:23PM +0100, Olivier Guilyardi wrote:

[...]

>> 1 - Your test code is theoretical. How does your filter perform with real
>> devices, soundcards, etc..?
> 
> I do not know, it of course should be tested i agree fully about that but
> doing truly scientific tests about this is not that easy, one would have
> to simulate variing temperatures and have a accurate signal generator ...

Well, before going so academic, you could just give it a try with a soundcard.
Just make sure you enable realtime scheduling, and, of course, use JACK :)

>> 2 - You are mesuring the jitter (or call it error). But what about the drift?
> 
>> What if your filtered time slowly drifts away from the system time?
> 
> thats part of the error, thats why iam using the error (sum of squared
> differences between the true time and the filtered timestamps)
> 
> 
>> For
>> instance, the device clock has by definition no jitter (the cycle period is
>> fixed) but it *always* drifts (forward or backward).
>>
>> Please show us some graphs based on your filter, something similar to this:
>> http://www.samalyse.com/code/pendule/benchmarks
> 
> should be attached

Well, your filter seem to work ok. I've done some printf+octave debugging from
the jack demuxer, and the jitter looks ok. According to your graphs, your filter
doesn't drift. I'll do some more testing when I find time for this.

About the jitter graph, by "uncorrected" you mean gettimofday(), and by "fixed
coef" the original DLL filter as Fons designed it, is this right? If this is the
case, then it would be useful that you only display the "fixed coef" and the
"variable coef" plots, so that we can actually compare them visually. It's damn
small now.

Anyway, if I find time for this, I might add your filter as an alternative to
the original DLL filter, in libpendule. This way I'll do some more benchmarking.

If that happens, maybe that we could talk some more about it in the future. Why
don't you subscribe to linux-audio-dev then? It's a project-neutral mailing
list, and, for general discussions, would surely be better than this mad
cross-posting thing that I started ;)

--
  Olivier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffmpeg-r17855-jack-0.9.patch
Type: text/x-patch
Size: 14077 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090306/13b6e03e/attachment.bin>



More information about the ffmpeg-devel mailing list