Skip to content

Instantly share code, notes, and snippets.

@gavv
gavv / bad1
Last active April 22, 2019 06:37
fec reader regression
Logs from bad commit (f51e7d2e5e3e9d61e63cffb35117967b96afefc5)
./roc-recv.bad -vv -s :10003 -r :10004 |& ts
Apr 20 18:23:58 [info] roc_sndio: initializing sox
Apr 20 18:23:58 [debug] roc_recv: pool: initializing: object_size=2064 poison=0
Apr 20 18:23:58 [debug] roc_recv: pool: initializing: object_size=32784 poison=0
Apr 20 18:23:58 [debug] roc_recv: pool: initializing: object_size=592 poison=0
Apr 20 18:23:58 [debug] roc_sndio: sox writer: opening: name=(null) type=(null)
Apr 20 18:23:58 [debug] roc_sndio: driver waveaudio is not supported
Apr 20 18:23:58 [debug] roc_sndio: driver coreaudio is not supported
@gavv
gavv / plot_index.py
Last active February 19, 2019 09:30
sinc table cache locality
#!env python3
import sys
import numpy
import pylab
bins = [8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768]
raw_idx = []
for line in sys.stdin:
raw_idx.append(int(line))
@gavv
gavv / plot_diff.py
Created January 10, 2019 08:52
resampler plotters
#!env python3
import numpy
import pylab
import scipy.io.wavfile
original = scipy.io.wavfile.read('mkh10/original.wav' )[1][:,0]
resampler_cpy = scipy.io.wavfile.read('mkh10/resampler_cpy.wav')[1][:,0]
resampler_sc1 = scipy.io.wavfile.read('mkh10/resampler_sc1.wav')[1][:,0]
original = original / 2**15
Jan 03 21:00:15 [info] roc_pipeline: receiver: creating session
Jan 03 21:00:15 [debug] roc_packet: delayed reader: initializing: delay=8640
Jan 03 21:00:15 [debug] roc_fec: of decoder: initializing Reed-Solomon decoder
Jan 03 21:00:15 [debug] roc_audio: watchdog: initializing: max_silence_duration=88200 max_drops_duration=44100 drop_detection_window=2205
Jan 03 21:00:15 [debug] roc_audio: resampler reader: initializing window
Jan 03 21:00:15 [debug] roc_audio: latency monitor: initializing: target_latency=8640 in_rate=44100 out_rate=48000
Jan 03 21:00:15 [debug] roc_packet: router: detected new stream: source=1028798511 flags=0x8u
Jan 03 21:00:15 [debug] roc_packet: router: detected new stream: source=661401048 flags=0x10u
Jan 03 21:00:15 [debug] roc_audio: depacketizer: ts=128 loss_ratio=0.00000
Jan 03 21:00:15 [debug] roc_packet: delayed reader: initial queue: delay=8640 queue=15040 packets=47
[info] roc_pipeline: receiver: creating session
[debug] roc_packet: delayed reader: initializing: delay=8640
[debug] roc_fec: of decoder: initializing Reed-Solomon decoder
[debug] roc_audio: watchdog: initializing: max_silence_duration=88200 max_drops_duration=44100 drop_detection_window=2205
[debug] roc_audio: resampler reader: initializing window
[debug] roc_audio: latency monitor: initializing: target_latency=8640 in_rate=44100 out_rate=48000
[debug] roc_packet: router: detected new stream: source=711122257 flags=0x8u
[debug] roc_audio: depacketizer: ts=128 loss_ratio=0.00000
[debug] roc_packet: router: detected new stream: source=930382218 flags=0x10u
[debug] roc_packet: delayed reader: initial queue: delay=8640 queue=9280 packets=29
$ roc-recv -s :10001 -r :10002 -vv --min-latency=-9999999999 --max-latency=9999999999 --silence-timeout=99999999
[info] roc_sndio: initializing sox
[debug] roc_recv: pool: initializing: chunk_size=2088 object_size=2064 objects_per_chunk=1
[debug] roc_recv: pool: initializing: chunk_size=266280 object_size=266256 objects_per_chunk=1
[debug] roc_recv: pool: initializing: chunk_size=616 object_size=592 objects_per_chunk=1
[debug] roc_sndio: sox writer: opening: name=(null) type=(null)
[debug] roc_sndio: driver waveaudio is not supported
[debug] roc_sndio: driver coreaudio is not supported
[debug] roc_sndio: selecting default driver pulseaudio
[debug] roc_sndio: detected defaults: name=default type=pulseaudio
@gavv
gavv / pulseaudio.log
Last active January 5, 2018 15:48
pa_hang_many_clients
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: Permission denied
I: [pulseaudio] main.c: This is PulseAudio 10.0
D: [pulseaudio] main.c: Compilation host: arm-unknown-linux-gnueabihf
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fdebug-prefix-map=/build/pulseaudio-M85hft/pulseaudio-10.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing
@gavv
gavv / backtrace
Last active January 5, 2018 14:26
pa_hang
#0 0x76d51a70 in __pthread_cond_wait (cond=0x22190, mutex=0x22170) at pthread_cond_wait.c:177
#1 0x76f783a4 in pa_threaded_mainloop_wait () from /usr/lib/arm-linux-gnueabihf/libpulse.so.0
#2 0x76f9b908 in pa_simple_write () from /usr/lib/arm-linux-gnueabihf/libpulse-simple.so.0
#3 0x00010b1c in main ()
diff --git a/SConstruct b/SConstruct
index 71da419..24c1c7b 100644
--- a/SConstruct
+++ b/SConstruct
@@ -732,6 +732,7 @@ if compiler in ['gcc', 'clang']:
env.Append(**{var: [
'-pthread',
'-fPIC',
+ '-march=armv8-a',
]})
@gavv
gavv / resampler_panic
Last active September 19, 2017 08:20
./roc-recv -vv :12345 --beep
[debug] roc_netio: parse address: parsed 0.0.0.0:12345
[debug] roc_audio: sample buffer queue: max_size=100
[debug] roc_netio: udp receiver: attaching to event loop
[debug] roc_netio: udp sender: attaching to event loop
[info] roc_netio: udp receiver: adding port 0.0.0.0:12345
[debug] roc_netio: udp receiver: opening port 0.0.0.0:12345
[debug] roc_sndio: writer: opening: name=(null) type=(null)
[info] roc_sndio: initializing sox
[debug] roc_sndio: driver waveaudio is not supported