Oct 6 2024
Oct 5 2024
Oops, fix typo
May 11 2024
May 10 2024
CHROMECAST_LIB_DEPENDS+=libabsl_base.so:devel/abseil
libsrt.so:www/srt and libaribb24.so:multimedia/aribb24: --disable-srt --disable-aribsub --disable-aribb25.
libabsl*.so:devel/abseil from libprotobuf-lite.so:devel/protobuf from option CHROMECAST.
Or we can patch modules/access/rdp.c:
diff -ur multimedia/vlc/files/patch-modules_access_rdp.c.orig multimedia/vlc/files/patch-modules_access_rdp.c --- multimedia/vlc/files/patch-modules_access_rdp.c.orig +++ multimedia/vlc/files/patch-modules_access_rdp.c @@ -1,4 +1,4 @@ ---- modules/access/rdp.c.orig 2016-07-22 12:10:45 UTC +--- modules/access/rdp.c.orig 2023-02-11 09:33:17 UTC +++ modules/access/rdp.c @@ -45,18 +45,6 @@ # include <freerdp/version.h> @@ -19,7 +19,13 @@ #include <errno.h> #ifdef HAVE_POLL # include <poll.h> -@@ -140,6 +128,7 @@ static void desktopResizeHandler( rdpCon +@@ -139,11 +127,12 @@ typedef struct vlcrdp_context_t vlcrdp_context_t; + + /* updates handlers */ + +-static void desktopResizeHandler( rdpContext *p_context ) ++static int desktopResizeHandler( rdpContext *p_context ) + { vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context; demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; rdpGdi *p_gdi = p_context->gdi; @@ -27,7 +33,7 @@
May 3 2024
Apr 24 2024
Upstream committed our patches to 3.5.1 branch - replaced audio/audacity/files/patch-* with patch from this commit.
Apr 23 2024
Removed unused LIB_DEPENDS:
Warning: you might not need LIB_DEPENDS on libasound.so Warning: you might not need LIB_DEPENDS on libcurl.so Warning: you might not need LIB_DEPENDS on libopenjp2.so Warning: you might not need LIB_DEPENDS on libpng.so Warning: you might not need LIB_DEPENDS on libturbojpeg.so
And pet portclippy.
The change looks fine but remember that maintainer timeouts don't work on Phab. You need to create a bugzilla PR for this.
Apr 22 2024
Mar 26 2024
D43545 takes care of this change. Should we close this?
Feb 12 2024
Jan 30 2024
Jan 29 2024
Interesting. I just tested, and if I boot my machine while interface is on, kld_list and buffer_ms together do the trick. I mean, jack_iodelay reports exactly same latency as if I loaded the module, set buffer_ms and then turned on the interface. Maybe my interface is slow to respond initially, so sysctl has time to kick in? Anyway, if I were to do it differently, what should I do? Load module and set buffer_ms in loader.conf?
Jan 28 2024
That's a great improvement. LGTM.
A misunderstanding. I though you wanted me to make sure there are no reconnects. Anyway, loading the driver first, then setting buffer_ms and then turning on the interface yields the following results
period = 192 buffer_ms = 1 690.921 frames 14.394 ms total roundtrip latency extra loopback latency: 306 frames use 153 for the backend arguments -I and -O
Now this is a great improvement! Can we document it somewhere? Suggesting, for example, to put kld_list+=snd_uaudio and then set buffer_ms as any other sysctl? In my oppinion, if we spent so much time figuring out how to properly do the measurement, I'm sure other people will need help with their setup, too, so why not make it easier for them and put this into snd_uaudio(4).
Jan 27 2024
I didn't answer about re-plugging. No, the interface is always connected and I don't touch the cables.
I see what you mean. I tested with buffer_ms of 1 and 8 and I get almost exact numbers:
period = 192
Jan 22 2024
Meka, according to USB descriptor your audio interface is fine with 1ms intervals (bInterval = 0x0004). So that's not the problem. And the latency doesn't even change without this patch, we know that worked before. Did you replug the device after you changed the buffer_ms sysctl? New buffer_ms values may not become effective immediately, depending on your settings.
If you want to test it - get current patch.
If you want to see diff with old murmur - check history patch here: https://reviews.freebsd.org/D41048?id=133095
Trying to update diff using arcanist.
Main branch ----------- hw.usb.uaudio.buffer_ms = 8 period = 768 2563.934 frames 53.415 ms total roundtrip latency extra loopback latency: 1027 frames use 513 for the backend arguments -I and -O
Jan 21 2024
Thanks for all the measurements, Meka! It seems like the buffer_ms sysctl doesn't have any effect at all. I suspect your audio interface to demand a longer interval in its USB descriptor. Could you
I missed 4ms request from you, so here are those measurements
Main branch ----------- hw.usb.uaudio.buffer_ms = 4 period = 768 3337.952 frames 69.541 ms total roundtrip latency extra loopback latency: 1033 frames use 516 for the backend arguments -I and -O
Thank you for the explanation. I took the measurement and I tried to get the lowest latency without jitters, so here is the complete measurement.
Main branch ----------- hw.usb.uaudio.buffer_ms = 2
Jan 20 2024
Patch against current audio/murmur.
Hi Meka, sorry to hear, hope you are well now.
Your measurements seem to be accurate. Unfortunately they do not match my expectations, as I would have estimated more like a ~12ms reduction in this scenario.
I'll try to verify my own tests, but could you measure the new default of buffer_ms=4 in your setup? And a period of 768 in addition to 512 and 1024? Thanks!
I may have to check with the version of Jack in ports, I did my measurements with the new sosso backend which does mmap io.
Jan 19 2024
Sorry for the delay, I got sick (again). Anyway, it took me a while to figure out what's going on. As I didn't have speakers on, I didn't notice there are jitters, that's why the numbers don't match. I took similar measurements with higher period size in jack and these are the results
Main branch ----------- hw.usb.uaudio.buffer_ms = 2
Clarified buffer_ms sysctl description as suggested by @emaste.
Jan 18 2024
@meka_tilda.center Any comment on your test results?
Introduced UAUDIO_BUFFER_MS_MIN and UAUDIO_BUFFER_MS_MAX as constants.
Intentionally left the comments that mention 8 ms max buffer length. It
gives some understandable context and that value will probably never change
as long as current USB audio standards are supported.
I check - update from 1.3.3 to 1.3.4 is trivial. Can I update it and take maintainership without review?
Also it need LIB_DEPENDS=devel/abseil - tested in poudriere.
Added UIDs, GIDs and UPDATING.