Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL Mixer multi-channel MixEffect Callback not working when copying data to the Side Channels in 7.1 (8 channels) #663

Open
superhac opened this issue Feb 3, 2025 · 11 comments

Comments

@superhac
Copy link

superhac commented Feb 3, 2025

Hi everyone!

I've been using the mixer for project where I need to manually control what speakers certain mixChunk's go to. My output device settings per the AudioSpec is "Output Device Settings: Freq: 48000 Format (SDL_AudioFormat): 32784(SDL_AUDIO_S16LE) channels: 8". I'm on on Ubuntu using Pulse Audio directly, e.g. no Pipewire. By default if your playing audio file with less channels then your output channels Pulse with automatically remix those channels onto the ones you have. This is covered with these two options (specify in your daemon config file):

enable-remixing
remixing-use-all-sink-channels

Since I want to control all the channels when in 8 channel mode I need to specify remixing-use-all-sink-channels = no or else I get anything on the front channels bleeding back at lower volume on the side channels. Not the rear though....

For simplicity sake lets say I have one MixChunk that I only want to play on the Side and Rear channels. Its a wav file and its either stereo or a mono the sample that only has data on FL, FR channels. I need to copy those to the side and rear channels, and when that's done I wipe the FL,FR. To accomplish this I have the following in a MixEffect Callback:

   for (int frame = 0; frame < frames; ++frame) {
      int index = frame * channels;

      // copy the sound sample from Front to Back and Side channels.
      samples[index + 4] = static_cast<int16_t>(samples[index]);   // COPY FL to BL
      samples[index + 5] = static_cast<int16_t>(samples[index+1]); // Copy FR to BR
      samples[index + 6] = static_cast<int16_t>(samples[index]);   // Copy FL to SL 
      samples[index + 7] = static_cast<int16_t>(samples[index+1]); // Copy FR to SR
 
      // wipe front channels
      samples[index]   = static_cast<int16_t>(0);
      samples[index+1] = static_cast<int16_t>(0);

      //PLOGI << "FL: " << samples[index]  << " FR: " << samples[index+1] << " FC: " << samples[index+2] << " LFE: " << samples[index+3] << " BL: " << samples[index+4]
         //<< " BR: " << samples[index+5] << " SR: " << samples[index+6] << " SR: " << samples[index+7] ;
      
   }

But this doesn't work. While I see the data after its all done on the right channels, the side channels have no audio. The rear has audio and the front is silent as it should be. But nothing on the side channels.

I did as much as could to try to figure this out and didn't come up with answer. If I had to take a guess I think its something in mixer when it mixes all the chunks together its dropping or not including the side channels in the final output. Not sure if this related at all to any of positional stuff that only supports up to 5.1. But I'm on 7.1, 8 channels.

And just for coverage to see if it was just the side channels I changed it copy to the center and lfe channel and it worked. So its something with the side channel.

Thanks!

superhac added a commit to superhac/vpinball that referenced this issue Feb 3, 2025
… Moving audio to side channel does not work. Filed issue with mixer folks: libsdl-org/SDL_mixer#663
@superhac
Copy link
Author

superhac commented Feb 4, 2025

We can close this... I figured it out. Again it was another Pulse Audio setting:

default-sample-channels = 8

So in the end to get all this work I needed this entry in my daemon.conf file:

default-sample-channels = 8
default-channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right,side-left,side-right

@slouken slouken closed this as completed Feb 4, 2025
@superhac
Copy link
Author

superhac commented Feb 4, 2025

I spoke to soon. After trying different tables in my application it still won't output to the side channels.

I need to have these option for sure in my daemon.conf

enable-remixing = no
default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right

When this is set the front channel stays on the front, but the other sounds like in my code example above only sound on the rear while the side channels are silent.

My running pulseaudio.conf from pulseaudio --dump-conf:

### Read from configuration file: /home/superhac/.config/pulse//daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
rescue-streams = yes
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-16.1+dfsg1/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target =
log-level = notice
resample-method = auto
avoid-resampling = no
enable-remixing = no
remixing-use-all-sink-channels = yes
remixing-produce-lfe = no
remixing-consume-lfe = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 8
default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

from pactl list sink-inputs

Sink Input #1
        Driver: protocol-native.c
        Owner Module: 13
        Client: 7
        Sink: 0
        Sample Specification: s16le 8ch 44100Hz
        Channel Map: front-left,front-right,front-center,lfe,rear-left,rear-right,front-left-of-center,front-right-of-center
        Format: pcm, format.sample_format = "\"s16le\""  format.rate = "44100"  format.channels = "8"  format.channel_map = "\"front-left,front-right,front-center,lfe,rear-left,rear-right,front-left-of-center,front-right-of-center\""
        Corked: no
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-left-of-center: 65536 / 100% / 0.00 dB,   front-right-of-center: 65536 / 100% / 0.00 dB
                balance 0.00
        Buffer Latency: 13582 usec
        Sink Latency: 21591 usec
        Resample method: copy
        Properties:
                media.name = "Audio Stream"
                application.name = "SDL Application"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.icon_name = "applications-games"
                application.process.id = "1557143"
                application.process.user = "superhac"
                application.process.host = "linpin"
                application.process.binary = "VPinballX_BGFX"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = "e447d9d6c0d04acda7976fafc5675377"
                module-stream-restore.id = "sink-input-by-application-name:SDL Application"

I also have all channels producing audio correctly with speaker-test default -c8

speaker-test 1.2.9

Playback device is default
Stream parameters are 48000Hz, S16_LE, 8 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 24 to 262144
Period size range from 8 to 87382
Using max buffer size 262144
Periods = 4
was set period_size = 65536
was set buffer_size = 262144
 0 - Front Left
 4 - Center
 1 - Front Right
 7 - Side Right
 3 - Rear Right
 2 - Rear Left
 6 - Side Left
 5 - LFE
Time per period = 21.896589

So now for sure I've exhausted everything I know. Would appreciate any input of this.

Thanks

@slouken slouken reopened this Feb 4, 2025
@slouken
Copy link
Collaborator

slouken commented Feb 4, 2025

Can you add debug code to SDL in the pulseaudio driver to validate the data going to Pulseaudio?

@superhac
Copy link
Author

superhac commented Feb 4, 2025

Can you add debug code to SDL in the pulseaudio driver to validate the data going to Pulseaudio?

Not sure what you mean by that. I do hear sound... Just not out the side channel.

@slouken
Copy link
Collaborator

slouken commented Feb 4, 2025

I mean add code to dump the raw values in each channel so you can confirm that SDL is sending the data you expect.

@superhac
Copy link
Author

superhac commented Feb 4, 2025

You mean the output in my code snippet above that display the change to sample of it runs?
PLOGI << "FL: " << samples[index] << " FR: " << samples[index+1] << " FC: " << samples[index+2] << " LFE: " << samples[index+3] << " BL: " << samples[index+4] << " BR: " << samples[index+5] << " SR: " << samples[index+6] << " SR: " << samples[index+7] ;

A sample:

2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -27 BR: -27 SR: -42 SR: -42
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -32 BR: -32 SR: -51 SR: -51
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -45 BR: -45 SR: -72 SR: -72
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -41 BR: -41 SR: -65 SR: -65
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -12 BR: -12 SR: -20 SR: -20
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 13 BR: 13 SR: 21 SR: 21
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 18 BR: 18 SR: 28 SR: 28
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -6 BR: -6 SR: -10 SR: -10
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -16 BR: -16 SR: -26 SR: -26
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -18 BR: -18 SR: -28 SR: -28
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 0 BR: 0 SR: 0 SR: 0
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 5 BR: 5 SR: 8 SR: 8
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 8 BR: 8 SR: 12 SR: 12
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -5 BR: -5 SR: -8 SR: -8
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -9 BR: -9 SR: -15 SR: -15
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -14 BR: -14 SR: -22 SR: -22
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 13 BR: 13 SR: 21 SR: 21
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 23 BR: 23 SR: 37 SR: 37
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 39 BR: 39 SR: 62 SR: 62
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 30 BR: 30 SR: 47 SR: 47
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 26 BR: 26 SR: 41 SR: 41
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 21 BR: 21 SR: 34 SR: 34
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 12 BR: 12 SR: 20 SR: 20
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 11 BR: 11 SR: 18 SR: 18
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 25 BR: 25 SR: 39 SR: 39
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 55 BR: 55 SR: 86 SR: 86
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 73 BR: 73 SR: 115 SR: 115
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 75 BR: 75 SR: 119 SR: 119
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 45 BR: 45 SR: 72 SR: 72
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 28 BR: 28 SR: 45 SR: 45
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 21 BR: 21 SR: 33 SR: 33
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 19 BR: 19 SR: 31 SR: 31
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 28 BR: 28 SR: 44 SR: 44
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 15 BR: 15 SR: 24 SR: 24
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 16 BR: 16 SR: 26 SR: 26
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 5 BR: 5 SR: 8 SR: 8
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 8 BR: 8 SR: 13 SR: 13
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 23 BR: 23 SR: 37 SR: 37
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 45 BR: 45 SR: 72 SR: 72
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 69 BR: 69 SR: 109 SR: 109
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 71 BR: 71 SR: 113 SR: 113
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 55 BR: 55 SR: 86 SR: 86
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 30 BR: 30 SR: 48 SR: 48
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 19 BR: 19 SR: 31 SR: 31
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 24 BR: 24 SR: 38 SR: 38
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 30 BR: 30 SR: 47 SR: 47
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 15 BR: 15 SR: 23 SR: 23
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -1 BR: -1 SR: -2 SR: -2
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 7 BR: 7 SR: 11 SR: 11
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 36 BR: 36 SR: 57 SR: 57
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 66 BR: 66 SR: 104 SR: 104
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 46 BR: 46 SR: 73 SR: 73
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 15 BR: 15 SR: 24 SR: 24
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -15 BR: -15 SR: -24 SR: -24
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -6 BR: -6 SR: -10 SR: -10
2025-02-04 13:25:46.602 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 5 BR: 5 SR: 9 SR: 9
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 10 BR: 10 SR: 16 SR: 16
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 26 BR: 26 SR: 41 SR: 41
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 42 BR: 42 SR: 67 SR: 67
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 56 BR: 56 SR: 89 SR: 89
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 22 BR: 22 SR: 35 SR: 35
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -16 BR: -16 SR: -26 SR: -26
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -17 BR: -17 SR: -28 SR: -28
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 28 BR: 28 SR: 44 SR: 44
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 71 BR: 71 SR: 112 SR: 112
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 52 BR: 52 SR: 83 SR: 83
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -1 BR: -1 SR: -2 SR: -2
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -43 BR: -43 SR: -68 SR: -68
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -42 BR: -42 SR: -67 SR: -67
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -34 BR: -34 SR: -54 SR: -54
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -31 BR: -31 SR: -50 SR: -50
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -39 BR: -39 SR: -62 SR: -62
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -17 BR: -17 SR: -27 SR: -27
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 7 BR: 7 SR: 11 SR: 11
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 4 BR: 4 SR: 7 SR: 7
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -35 BR: -35 SR: -55 SR: -55
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -89 BR: -89 SR: -141 SR: -141
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -104 BR: -104 SR: -164 SR: -164
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -75 BR: -75 SR: -118 SR: -118
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -34 SR: -34
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 22 BR: 22 SR: 35 SR: 35
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 44 BR: 44 SR: 70 SR: 70
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 31 BR: 31 SR: 50 SR: 50
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -5 BR: -5 SR: -9 SR: -9
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -63 BR: -63 SR: -99 SR: -99
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -94 BR: -94 SR: -148 SR: -148
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -73 BR: -73 SR: -115 SR: -115
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -12 BR: -12 SR: -20 SR: -20
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 36 BR: 36 SR: 56 SR: 56
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 48 BR: 48 SR: 75 SR: 75
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 16 BR: 16 SR: 26 SR: 26
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -15 BR: -15 SR: -24 SR: -24
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -33 BR: -33 SR: -52 SR: -52
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -39 BR: -39 SR: -62 SR: -62
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -33 BR: -33 SR: -52 SR: -52
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -33 SR: -33
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 12 BR: 12 SR: 19 SR: 19
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 16 BR: 16 SR: 26 SR: 26
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 16 BR: 16 SR: 26 SR: 26
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -22 BR: -22 SR: -34 SR: -34
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -47 BR: -47 SR: -74 SR: -74
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -41 BR: -41 SR: -65 SR: -65
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -34 SR: -34
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 27 BR: 27 SR: 42 SR: 42
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 44 BR: 44 SR: 69 SR: 69
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 51 BR: 51 SR: 81 SR: 81
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 24 BR: 24 SR: 39 SR: 39
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -9 BR: -9 SR: -15 SR: -15
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -41 BR: -41 SR: -65 SR: -65
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -55 BR: -55 SR: -87 SR: -87
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -37 BR: -37 SR: -58 SR: -58
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -11 BR: -11 SR: -18 SR: -18
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 21 BR: 21 SR: 34 SR: 34
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 20 BR: 20 SR: 32 SR: 32
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 3 BR: 3 SR: 5 SR: 5
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -30 BR: -30 SR: -48 SR: -48
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -57 BR: -57 SR: -91 SR: -91
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -60 BR: -60 SR: -95 SR: -95
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -24 BR: -24 SR: -38 SR: -38
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 22 BR: 22 SR: 35 SR: 35
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 43 BR: 43 SR: 68 SR: 68
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 13 BR: 13 SR: 21 SR: 21
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -41 BR: -41 SR: -64 SR: -64
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -64 BR: -64 SR: -102 SR: -102
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -57 BR: -57 SR: -91 SR: -91
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -40 BR: -40 SR: -63 SR: -63
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -36 BR: -36 SR: -57 SR: -57
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -26 BR: -26 SR: -41 SR: -41
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 4 BR: 4 SR: 6 SR: 6
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 30 BR: 30 SR: 47 SR: 47
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 25 BR: 25 SR: 39 SR: 39
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -5 BR: -5 SR: -8 SR: -8
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -20 BR: -20 SR: -32 SR: -32
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -12 BR: -12 SR: -20 SR: -20
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 15 BR: 15 SR: 24 SR: 24
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 28 BR: 28 SR: 44 SR: 44
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 31 BR: 31 SR: 49 SR: 49
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 13 BR: 13 SR: 21 SR: 21
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -24 BR: -24 SR: -38 SR: -38
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -61 BR: -61 SR: -96 SR: -96
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -79 BR: -79 SR: -125 SR: -125
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -58 BR: -58 SR: -92 SR: -92
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -33 SR: -33
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 1 BR: 1 SR: 1 SR: 1
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 21 BR: 21 SR: 33 SR: 33
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 32 BR: 32 SR: 51 SR: 51
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 24 BR: 24 SR: 39 SR: 39
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 0 BR: 0 SR: 0 SR: 0
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -48 BR: -48 SR: -76 SR: -76
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -54 BR: -54 SR: -85 SR: -85
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -35 BR: -35 SR: -56 SR: -56
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -8 BR: -8 SR: -13 SR: -13
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -9 BR: -9 SR: -14 SR: -14
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -30 BR: -30 SR: -47 SR: -47
2025-02-04 13:25:46.603 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -36 BR: -36 SR: -57 SR: -57
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -36 BR: -36 SR: -56 SR: -56
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -40 BR: -40 SR: -63 SR: -63
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -65 BR: -65 SR: -103 SR: -103
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -85 BR: -85 SR: -135 SR: -135
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -68 BR: -68 SR: -107 SR: -107
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -36 BR: -36 SR: -56 SR: -56
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -17 BR: -17 SR: -27 SR: -27
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -25 BR: -25 SR: -40 SR: -40
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -54 BR: -54 SR: -85 SR: -85
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -53 BR: -53 SR: -84 SR: -84
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -48 BR: -48 SR: -76 SR: -76
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -42 BR: -42 SR: -67 SR: -67
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -48 BR: -48 SR: -76 SR: -76
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -51 BR: -51 SR: -81 SR: -81
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -26 BR: -26 SR: -41 SR: -41
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -34 SR: -34
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -30 BR: -30 SR: -48 SR: -48
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -56 BR: -56 SR: -88 SR: -88
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -62 BR: -62 SR: -98 SR: -98
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -37 BR: -37 SR: -58 SR: -58
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -21 BR: -21 SR: -34 SR: -34
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -25 BR: -25 SR: -39 SR: -39
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -46 BR: -46 SR: -74 SR: -74
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -56 BR: -56 SR: -89 SR: -89
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -50 BR: -50 SR: -79 SR: -79
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -32 BR: -32 SR: -51 SR: -51
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -18 BR: -18 SR: -28 SR: -28
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -1 BR: -1 SR: -1 SR: -1
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 6 BR: 6 SR: 10 SR: 10
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 3 BR: 3 SR: 5 SR: 5
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -11 BR: -11 SR: -17 SR: -17
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -23 BR: -23 SR: -37 SR: -37
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -25 BR: -25 SR: -40 SR: -40
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -31 BR: -31 SR: -49 SR: -49
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -39 BR: -39 SR: -62 SR: -62
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -50 BR: -50 SR: -79 SR: -79
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -64 BR: -64 SR: -101 SR: -101
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -59 BR: -59 SR: -93 SR: -93
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -54 BR: -54 SR: -85 SR: -85
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -35 BR: -35 SR: -55 SR: -55
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -37 BR: -37 SR: -58 SR: -58
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -56 BR: -56 SR: -89 SR: -89
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -79 BR: -79 SR: -125 SR: -125
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -93 BR: -93 SR: -147 SR: -147
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -71 BR: -71 SR: -112 SR: -112
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -50 BR: -50 SR: -79 SR: -79
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -25 BR: -25 SR: -40 SR: -40
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -32 BR: -32 SR: -51 SR: -51
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -40 BR: -40 SR: -63 SR: -63
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -59 BR: -59 SR: -94 SR: -94
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -56 BR: -56 SR: -88 SR: -88
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -39 BR: -39 SR: -62 SR: -62
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -19 BR: -19 SR: -31 SR: -31
2025-02-04 13:25:46.607 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -6 BR: -6 SR: -10 SR: -10
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -3 BR: -3 SR: -5 SR: -5
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 5 BR: 5 SR: 9 SR: 9
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 10 BR: 10 SR: 16 SR: 16
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -5 BR: -5 SR: -8 SR: -8
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -30 BR: -30 SR: -48 SR: -48
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -47 BR: -47 SR: -74 SR: -74
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -10 BR: -10 SR: -17 SR: -17
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 29 BR: 29 SR: 46 SR: 46
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 43 BR: 43 SR: 68 SR: 68
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 19 BR: 19 SR: 30 SR: 30
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -17 BR: -17 SR: -28 SR: -28
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -29 BR: -29 SR: -46 SR: -46
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -48 BR: -48 SR: -76 SR: -76
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -44 BR: -44 SR: -69 SR: -69
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -39 BR: -39 SR: -62 SR: -62
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 7 BR: 7 SR: 11 SR: 11
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 40 BR: 40 SR: 63 SR: 63
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 49 BR: 49 SR: 77 SR: 77
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 17 BR: 17 SR: 28 SR: 28
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -18 BR: -18 SR: -29 SR: -29
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -41 BR: -41 SR: -65 SR: -65
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -33 BR: -33 SR: -52 SR: -52
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 2 BR: 2 SR: 4 SR: 4
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 47 BR: 47 SR: 74 SR: 74
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 76 BR: 76 SR: 120 SR: 120
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 59 BR: 59 SR: 94 SR: 94
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: 21 BR: 21 SR: 34 SR: 34
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -5 BR: -5 SR: -8 SR: -8
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -15 BR: -15 SR: -23 SR: -23
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -14 BR: -14 SR: -22 SR: -22
2025-02-04 13:25:46.608 INFO  [1559027] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -31 BR: -31 SR: -49 SR: -49

it's all looks good at that point.

@slouken
Copy link
Collaborator

slouken commented Feb 4, 2025

Yes, but in SDL/src/audio/pulseaudio/SDL_pulseaudio.c, say in PULSEAUDIO_PlayDevice()

@superhac
Copy link
Author

superhac commented Feb 4, 2025

Yes, but in SDL/src/audio/pulseaudio/SDL_pulseaudio.c, say in PULSEAUDIO_PlayDevice()

Ok.. Let me see if I can do that.

@superhac
Copy link
Author

superhac commented Feb 4, 2025

Alright I put this code into pulseaudio.cpp:

static bool PULSEAUDIO_PlayDevice(SDL_AudioDevice *device, const Uint8 *buffer, int buffer_size)
{
    struct SDL_PrivateAudioData *h = device->hidden;

    //SDL_Log("PULSEAUDIO PLAYDEVICE START! mixlen=%d", available);

    SDL_assert(h->bytes_requested >= buffer_size);

    PULSEAUDIO_pa_threaded_mainloop_lock(pulseaudio_threaded_mainloop);

    for (size_t i = 0; i < buffer_size; i++) {

        printf("%hhu ", buffer[i]);

    }

    const int rc = PULSEAUDIO_pa_stream_write(h->stream, buffer, buffer_size, NULL, 0LL, PA_SEEK_RELATIVE);
    PULSEAUDIO_pa_threaded_mainloop_unlock(pulseaudio_threaded_mainloop);

    if (rc < 0) {
        return false;
    }

    //SDL_Log("PULSEAUDIO FEED! nbytes=%d", buffer_size);
    h->bytes_requested -= buffer_size;

    //SDL_Log("PULSEAUDIO PLAYDEVICE END! written=%d", written);
    return true;
}

Then I got this output for a sound:

2025-02-04 14:17:39.266 INFO  [1600886] [PinSound::SSFEffect@619] FL: 0 FR: 0 FC: 0 LFE: 0 BL: -18 BR: -18 SR: -29 SR: -29


55 0 55 0 0 0 0 0 242 255 242 255 234 255 234 255 35 0 35 0 0 0 0 0 251 255 251 255 247 255 247 255 35 0 35 0 0 0 0 0 8 0 8 0 13 0 13 0 9 0 9 0 0 0 0 0 253 255 253 255 251 255 251 255 48 255 48 255 0 0 0 0 222 255 222 255 203 255 203 255 48 255 48 255 0 0 0 0 187 255 187 255 147 255 147 255 73 253 73 253 0 0 0 0 181 255 181 255 138 255 138 255 2 253 2 253 0 0 0 0 197 255 197 255 163 255 163 255 2 253 2 253 0 0 0 0 217 255 217 255 194 255 194 255 26 253 26 253 0 0 0 0 230 255 230 255 215 255 215 255 65 253 65 253 0 0 0 0 246 255 246 255 240 255 240 255 66 253 66 253 0 0 0 0 0 0 0 0 0 0 0 0 109 253 109 253 0 0 0 0 255 255 255 255 255 255 255 255 144 253 144 253 0 0 0 0 220 255 220 255 199 255 199 255 144 253 144 253 0 0 0 0 181 255 181 255 137 255 137 255 178 253 178 253 0 0 0 0 175 255 175 255 129 255 129 255 218 253 218 253 0 0 0 0 201 255 201 255 170 255 170 255 217 253 217 253 0 0 0 0 243 255 243 255 235 255 235 255 248 253 248 253 0 0 0 0 255 255 255 255 254 255 254 255 20 254 20 254 0 0 0 0 244 255 244 255 237 255 237 255 20 254 20 254 0 0 0 0 219 255 219 255 198 255 198 255 57 254 57 254 0 0 0 0 204 255 204 255 174 255 174 255 83 254 83 254 0 0 0 0 189 255 189 255 150 255 150 255 82 254 82 254 0 0 0 0 181 255 181 255 137 255 137 255 108 254 108 254 0 0 0 0 193 255 193 255 156 255 156 255 133 254 133 254 0 0 0 0 237 255 237 255 225 255 225 255 134 254 134 254 0 0 0 0 51 0 51 0 80 0 80 0 156 254 156 254 0 0 0 0 89 0 89 0 140 0 140 0 184 254 184 254 0 0 0 0 69 0 69 0 109 0 109 0 184 254 184 254 0 0 0 0 12 0 12 0 20 0 20 0 57 0 57 0 0 0 0 0 221 255 221 255 200 255 200 255 238 0 238 0 0 0 0 0 223 255 223 255 204 255 204 255 238 0 238 0 0 0 0 0 254 255 254 255 253 255 253 255 100 0 100 0 0 0 0 0 31 0 31 0 49 0 49 0 100 0 100 0 0 0 0 0 48 0 48 0 76 0 76 0 212 255 212 255 0 0 0 0 54 0 54 0 85 0 85 0 91 255 91 255 0 0 0 0 49 0 49 0 77 0 77 0 91 255 91 255 0 0 0 0 30 0 30 0 47 0 47 0 233 254 233 254 0 0 0 0 1 0 1 0 2 0 2 0 164 254 164 254 0 0 0 0 238 255 238 255 227 255 227 255 164 254 164 254 0 0 0 0 239 255 239 255 229 255 229 255 112 254 112 254 0 0 0 0 251 255 251 255 248 255 248 255 68 254 68 254 0 0 0 0 24 0 24 0 38 0 38 0 69 254 69 254 0 0 0 0 33 0 33 0 52 0 52 0 46 254 46 254 0 0 0 0 30 0 30 0 48 0 48 0 32 254 32 254 0 0 0 0 247 255 247 255 241 255 241 255 32 254 32 254 0 0 0 0 212 255 212 255 187 255 187 255 27 254 27 254 0 0 0 0 197 255 197 255 163 255 163 255 30 254 30 254 0 0 0 0 225 255 225 255 207 255 207 255 30 254 30 254 0 0 0 0 251 255 251 255 247 255 247 255 38 254 38 254 0 0 0 0 2 0 2 0 4 0 4 0 62 254 62 254 0 0 0 0 250 255 250 255 246 255 246 255 62 254 62 254 0 0 0 0 234 255 234 255 221 255 221 255 83 254 83 254 0 0 0 0 223 255 223 255 204 255 204 255 107 254 107 254 0 0 0 0 191 255 191 255 154 255 154 255 108 254 108 254 0 0 0 0 171 255 171 255 121 255 121 255 99 252 99 252 0 0 0 0 171 255 171 255 121 255 121 255 210 251 210 251 0 0 0 0 208 255 208 255 181 255 181 255 209 251 209 251 0 0 0 0 242 255 242 255 234 255 234 255 253 251 253 251 0 0 0 0 242 255 242 255 234 255 234 255 76 252 76 252 0 0 0 0 225 255 225 255 206 255 206 255 75 252 75 252 0 0 0 0 222 255 222 255 202 255 202 255 151 252 151 252 0 0 0 0 236 255 236 255 224 255 224 255 239 252 239 252 0 0 0 0 242 255 242 255 234 255 234 255 239 252 239 252 0 0 0 0 228 255 228 255 212 255 212 255 53 253 53 253 0 0 0 0 218 255 218 255 195 255 195 255 118 253 118 253 0 0 0 0 231 255 231 255 216 255 216 255 118 253 118 253 0 0 0 0 249 255 249 255 245 255 245 255 195 253 195 253 0 0 0 0 243 255 243 255 235 255 235 255 254 253 254 253 0 0 0 0 221 255 221 255 200 255 200 255 254 253 254 253 0 0 0 0 206 255 206 255 177 255 177 255 53 254 53 254 0 0 0 0 223 255 223 255 204 255 204 255 118 254 118 254 0 0 0 0 234 255 234 255 222 255 222 255 118 254 118 254 0 0 0 0 232 255 232 255 218 255 218 255 167 254 167 254 0 0 0 0 220 255 220 255 199 255 199 255 213 254 213 254 0 0 0 0 233 255 233 255 219 255 219 255 214 254 214 254 0 0 0 0 252 255 252 255 249 255 249 255 4 255 4 255 0 0 0 0 0 0 0 0 0 0 0 0 4 255 4 255 0 0 0 0 239 255 239 255 228 255 228 255 39 255 39 255 0 0 0 0 231 255 231 255 216 255 216 255 65 255 65 255 0 0 0 0 251 255 251 255 248 255 248 255 64 255 64 255 0 0 0 0 14 0 14 0 22 0 22 0 222 1 222 1 0 0 0 0 5 0 5 0 9 0 9 0 95 2 95 2 0 0 0 0 246 255 246 255 240 255 240 255 96 2 96 2 0 0 0 0 243 255 243 255 235 255 235 255 97 2 97 2 0 0 0 0 0 0 0 0 0 0 0 0 69 2 69 2 0 0 0 0 8 0 8 0 13 0 13 0 69 2 69 2 0 0 0 0 248 255 248 255 244 255 244 255 44 2 44 2 0 0 0 0 248 255 248 255 244 255 244 255 13 2 13 2 0 0 0 0 6 0 6 0 10 0 10 0 12 2 12 2 0 0 0 0 19 0 19 0 31 0 31 0 245 1 245 1 0 0 0 0 237 255 237 255 226 255 226 255 224 1 224 1 0 0 0 0 187 255 187 255 147 255 147 255 223 1 223 1 0 0 0 0 159 255 159 255 103 255 103 255 197 1 197 1 0 0 0 0 193 255 193 255 156 255 156 255 176 1 176 1 0 0 0 0 251 255 251 255 247 255 247 255 176 1 176 1 0 0 0 0 6 0 6 0 10 0 10 0 157 1 157 1 0 0 0 0 1 0 1 0 1 0 1 0 131 1 131 1 0 0 0 0 247 255 247 255 242 255 242 255 132 1 132 1 0 0 0 0 2 0 2 0 3 0 3 0 115 1 115 1 0 0 0 0 9 0 9 0 14 0 14 0 97 1 97 1 0 0 0 0 246 255 246 255 240 255 240 255 97 1 97 1 0 0 0 0 220 255 220 255 200 255 200 255 80 1 80 1 0 0 0 0 227 255 227 255 211 255 211 255 63 1 63 1 0 0 0 0 252 255 252 255 250 255 250 255 63 1 63 1 0 0 0 0 4 0 4 0 6 0 6 0 99 0 99 0 0 0 0 0 246 255 246 255 239 255 239 255 155 254 155 254 0 0 0 0 221 255 221 255 200 255 200 255 155 254 155 254 0 0 0 0 241 255 241 255 232 255 232 255 89 254 89 254 0 0 0 0 255 255 255 255 254 255 254 255 120 254 120 254 0 0 0 0 2 0 2 0 3 0 3 0 119 254 119 254 0 0 0 0 237 255 237 255 225 255 225 255 162 254 162 254 0 0 0 0 242 255 242 255 234 255 234 255 199 254 199 254 0 0 0 0 27 0 27 0 42 0 42 0 200 254 200 254 0 0 0 0 65 0 65 0 102 0 102 0 244 254 244 254 0 0 0 0 64 0 64 0 102 0 102 0 21 255 21 255 0 0 0 0 22 0 22 0 35 0 35 0 22 255 22 255 0 0 0 0 249 255 249 255 245 255 245 255 53 255 53 255 0 0 0 0 229 255 229 255 214 255 214 255 91 255 91 255 0 0 0 0 229 255 229 255 214 255 214 255 91 255 91 255 0 0 0 0 236 255 236 255 224 255 224 255 118 255 118 255 0 0 0 0 243 255 243 255 235 255 235 255 119 255 119 255 0 0 0 0 1 0 1 0 1 0 1 0 143 255 143 255 0 0 0 0 0 0 0 0 0 0 0 0 174 255 174 255 0 0 0 0 255 255 255 255 254 255 254 255 174 255 174 255 0 0 0 0 253 255 253 255 251 255 251 255 195 255 195 255 0 0 0 0 243 255 243 255 235 255 235 255 215 255 215 255 0 0 0 0 235 255 235 255 222 255 222 255 215 255 215 255 0 0 0 0 233 255 233 255 219 255 219 255 232 255 232 255 0 0 0 0 11 0 11 0 18 0 18 0 239 255 239 255 0 0 0 0 65 0 65 0 103 0 103 0 241 255 241 255 0 0 0 0 84 0 84 0 132 0 132 0 124 1 124 1 0 0 0 0 62 0 62 0 97 0 97 0 81 3 81 3 0 0 0 0 10 0 10 0 17 0 17 0 81 3 81 3 0 0 0 0 244 255 244 255 236 255 236 255 36 4 36 4 0 0 0 0 249 255 249 255 245 255 245 255 108 4 108 4 0 0 0 0 251 255 251 255 247 255 247 255 109 4 109 4 0 0 0 0 247 255 247 255 241 255 241 255 156 4 156 4 0 0 0 0 251 255 251 255 248 255 248 255 174 4 174 4 0 0 0 0 23 0 23 0 36 0 36 0 175 4 175 4 0 0 0 0 39 0 39 0 62 0 62 0 175 4 175 4 0 0 0 0 19 0 19 0 30 0 30 0 158 4 158 4 0 0 0 0 228 255 228 255 212 255 212 255 158 4 158 4 0 0 0 0 207 255 207 255 178 255 178 255 134 4 134 4 0 0 0 0 224 255 224 255 205 255 205 255 99 4 99 4 0 0 0 0 5 0 5 0 8 0 8 0 101 4 101 4 0 0 0 0 28 0 28 0 44 0 44 0 51 4 51 4 0 0 0 0 28 0 28 0 45 0 45 0 4 4 4 4 0 0 0 0 28 0 28 0 45 0 45 0 5 4 5 4 0 0 0 0 24 0 24 0 39 0 39 0 211 3 211 3 0 0 0 0 9 0 9 0 15 0 15 0 146 3 146 3 0 0 0 0 237 255 237 255 226 255 226 255 146 3 146 3 0 0 0 0 209 255 209 255 182 255 182 255 101 3 101 3 0 0 0 0 205 255 205 255 175 255 175 255 49 3 49 3 0 0 0 0 231 255 231 255 217 255 217 255 50 3 50 3 0 0 0 0 247 255 247 255 241 255 241 255 251 2 251 2 0 0 0 0 0 0 0 0 0 0 0 0 157 0 157 0 0 0 0 0 242 255 242 255 234 255 234 255 157 0 157 0 0 0 0 0 240 255 240 255 230 255 230 255 174 255 174 255 0 0 0 0 235 255 235 255 222 255 222 255 119 255 119 255 0 0 0 0 244 255 244 255 237 255 237 255 120 255 120 255 0 0 0 0 3 0 3 0 5 0 5 0 124 255 124 255 0 0 0 0 19 0 19 0 31 0 31 0 123 255 123 255 0 0 0 0 34 0 34 0 53 0 53 0 126 255 126 255 0 0 0 0 23 0 23 0 37 0 37 0 127 255 127 255 0 0 0 0 0 0 0 0 0 0 0 0 126 255 126 255 0 0 0 0 247 255 247 255 242 255 242 255 127 255 127 255 0 0 0 0 241 255 241 255 232 255 232 255 126 255 126 255 0 0 0 0 252 255 252 255 249 255 249 255 125 255 125 255 0 0 0 0 245 255 245 255 239 255 239 255 124 255 124 255 0 0 0 0 2 0 2 0 4 0 4 0 124 255 124 255 0 0 0 0 24 0 24 0 39 0 39 0 124 255 124 255 0 0 0 0 50 0 50 0 79 0 79 0 121 255 121 255 0 0 0 0 51 0 51 0 80 0 80 0 121 255 121 255 0 0 0 0 15 0 15 0 24 0 24 0 121 255 121 255 0 0 0 0 248 255 248 255 244 255 244 255 119 255 119 255 0 0 0 0 246 255 246 255 240 255 240 255 118 255 118 255 0 0 0 0 12 0 12 0 19 0 19 0 118 255 118 255 0 0 0 0 26 0 26 0 41 0 41 0 108 255 108 255 0 0 0 0 17 0 17 0 28 0 28 0 103 255 103 255 0 0 0 0 8 0 8 0 13 0 13 0 102 255 102 255 0 0 0 0 10 0 10 0 17 0 17 0 146 255 146 255 0 0 0 0 9 0 9 0 14 0 14 0 215 1 215 1 0 0 0 0 250 255 250 255 246 255 246 255 216 1 216 1 0 0 0 0 224 255 224 255 205 255 205 255 63 2 63 2 0 0 0 0 222 255 222 255 202 255 202 255 25 2 25 2 0 0 0 0 252 255 252 255 249 255 249 255 25 2 25 2 0 0 0 0 21 0 21 0 33 0 33 0 224 1 224 1 0 0 0 0 21 0 21 0 33 0 33 0 160 1 160 1 0 0 0 0 247 255 247 255 242 255 242 255 159 1 159 1 0 0 0 0 231 255 231 255 217 255 217 255 112 1 112 1 0 0 0 0 228 255 228 255 212 255 212 255 68 1 68 1 0 0 0 0 236 255 236 255 224 255 224 255 67 1 67 1 0 0 0 0 239 255 239 255 229 255 229 255 15 1 15 1 0 0 0 0 0 0 0 0 0 0 0 0 231 0 231 0 0 0 0 0 29 0 29 0 46 0 46 0 231 0 231 0 0 0 0 0 42 0 42 0 67 0 67 0 195 0 195 0 0 0 0 0 24 0 24 0 38 0 38 0 151 0 151 0 0 0 0 0 234 255 234 255 222 255 222 255 151 0 151 0 0 0 0 0 212 255 212 255 186 255 186 255 119 0 119 0 0 0 0 0 217 255 217 255 194 255 194 255 89 0 89 0 0 0 0 0 244 255 244 255 236 255 236 255 89 0 89 0 0 0 0 0 6 0 6 0 10 0 10 0 55 0 55 0 0 0 0 0 22 0 22 0 35 0 35 0 35 0 35 0 0 0 0 0 38 0 38 0 60 0 60 0 35 0 35 0 0 0 0 0 51 0 51 0 80 0 80 0 9 0 9 0 0 0 0 0 47 0 47 0 74 0 74 0 8 0 8 0 0 0 0 0 21 0 21 0 34 0 34 0 48 255 48 255 0 0 0 0 0 0 0 0 0 0 0 0 74 253 74 253 0 0 0 0 253 255 253 255 251 255 251 255 74 253 74 253 0 0 0 0 28 0 28 0 45 0 45 0 3 253 3 253 0 0 0 0 66 0 66 0 104 0 104 0 26 253 26 253 0 0 0 0 77 0 77 0 122 0 122 0 26 253 26 253 0 0 0 0 50 0 50 0 79 0 79 0 65 253 65 253 0 0 0 0 240 255 240 255 231 255 231 255 110 253 110 253 0 0 0 0 198 255 198 255 164 255 164 255 109 253 109 253 0 0 0 0 174 255 174 255 126 255 126 255 144 253 144 253 0 0 0 0 200 255 200 255 168 255 168 255 178 253 178 253 0 0 0 0 228 255 228 255 211 255 211 255 177 253 177 253 0 0 0 0 253 255 253 255 251 255 251 255 217 253 217 253 0 0 0 0 14 0 14 0 22 0 22 0 248 253 248 253 0 0 0 0 25 0 25 0 39 0 39 0 247 253 247 253 0 0 0 0 32 0 32 0 51 0 51 0 21 254 21 254 0 0 0 0 21 0 21 0 34 0 34 0 55 254 55 254 0 0 0 0 246 255 246 255 239 255 239 255 56 254 56 254 0 0 0 0 233 255 233 255 219 255 219 255 82 254 82 254 0 0 0 0 241 255 241 255 233 255 233 255 108 254 108 254 0 0 0 0 16 0 16 0 26 0 26 0 108 254 108 254 0 0 0 0 30 0 30 0 48 0 48 0 134 254 134 254 0 0 0 0 15 0 15 0 23 0 23 0 210 254 210 254 0 0 0 0 252 255 252 255 249 255 249 255 210 254 210 254 0 0 0 0 241 255 241 255 232 255 232 255 235 254 235 254 0 0 0 0 239 255 239 255 229 255 229 255 48 0 48 0 0 0 0 0 229 255 229 255 213 255 213 255 49 0 49 0 0 0 0 0 220 255 220 255 199 255 199 255 202 0 202 0 0 0 0 0 236 255 236 255 224 255 224 255 85 0 85 0 0 0 0 0 15 0 15 0 24 0 24 0 85 0 85 0 0 0 0 0 31 0 31 0 49 0 49 0 219 255 219 255 0 0 0 0 12 0 12 0 19 0 19 0 116 255 116 255 0 0 0 0 235 255 235 255 223 255 223 255 116 255 116 255 0 0 0 0 222 255 222 255 202 255 202 255 20 255 20 255 0 0 0 0 229 255 229 255 213 255 213 255 217 254 217 254 0 0 0 0 245 255 245 255 239 255 239 255 218 254 218 254 0 0 0 0 247 255 247 255 241 255 241 255 174 254 174 254 0 0 0 0 3 0 3 0 5 0 5 0 137 254 137 254 0 0 0 0 10 0 10 0 16 0 16 0 137 254 137 254 0 0 0 0 3 0 3 0 5 0 5 0 118 254 118 254 0 0 0 0 242 255 242 255 234 255 234 255 106 254 106 254 0 0 0 0 222 255 222 255 202 255 202 255 106 254 106 254 0 0 0 0 223 255 223 255 204 255 204 255 102 254 102 254 0 0 0 0 228 255 228 255 212 255 212 255 102 254 102 254 0 0 0 0 239 255 239 255 229 255 229 255 104 254 104 254 0 0 0 0 244 255 244 255 237 255 237 255 110 254 110 254 0 0 0 0 1 0 1 0 2 0 2 0 110 254 110 254 0 0 0 0 255 255 255 255 254 255 254 255 131 254 131 254 0 0 0 0 248 255 248 255 243 255 243 255 149 254 149 254 0 0 0 0 233 255 233 255 220 255 220 255 149 254 149 254 0 0 0 0 241 255 241 255 233 255 233 255 170 254 170 254 0 0 0 0 0 0 0 0 0 0 0 0 242 252 242 252 0 0 0 0 255 255 255 255 255 255 255 255 241 252 241 252 0 0 0 0 252 255 252 255 249 255 249 255 119 252 119 252 0 0 0 0 241 255 241 255 233 255 233 255 154 252 154 252 0 0 0 0 2 0 2 0 4 0 4 0 155 252 155 252 0 0 0 0 5 0 5 0 8 0 8 0 221 252 221 252 0 0 0 0 13 0 13 0 21 0 21 0 29 253 29 253 0 0 0 0 8 0 8 0 13 0 13 0 29 253 29 253 0 0 0 0 10 0 10 0 16 0 16 0 104 253 104 253 0 0 0 0 21 0 21 0 33 0 33 0 163 253 163 253 0 0 0 0 23 0 23 0 37 0 37 0 163 253 163 253 0 0 0 0 43 0 43 0 68 0 68 0 219 253 219 253 0 0 0 0 53 0 53 0 84 0 84 0 28 254 28 254 0 0 0 0 48 0 48 0 76 0 76 0 28 254 28 254 0 0 0 0 15 0 15 0 24 0 24 0 77 254 77 254 0 0 0 0 238 255 238 255 227 255 227 255

in hex:

01000100000000000A000A0010001000000000000000000001000100020002000000000000000000EFFFEFFFE4FFE4FF0000000000000000EAFFEAFFDEFFDEFF0000000000000000F9FFF9FFF5FFF5FF00000000000000001F001F00310031000000000000000000390039005A005A0000000000000000003400340053005300000000000000000017001700240024000000000000000000F4FFF4FFEDFFEDFF0100010000000000DEFFDEFFCAFFCAFF0100010000000000E0FFE0FFCDFFCDFF0000000000000000EEFFEEFFE4FFE4FF0000000000000000070007000B000B000100010000000000100010001A001A0001000100000000001500150022002200FFFFFFFF0000000000000000000000000000000000000000F4FFF4FFECFFECFF0000000000000000EBFFEBFFDFFFDFFF0000000000000000FCFFFCFFF9FFF9FF00000000000000000F000F00180018000000000000000000200020003300330000000000000000002300230038003800000000000000000023002300370037000000000000000000120012001D001D000000000000000000FCFFFCFFF9FFF9FFFFFFFFFF00000000DCFFDCFFC8FFC8FF0000000000000000D9FFD9FFC2FFC2FF0000000000000000EBFFEBFFDFFFDFFF0100010000000000110011001B001B0000000000000000001C001C002C002C0000000000000000000E000E00160016000000000000000000F5FFF5FFEEFFEEFF0000000000000000E0FFE0FFCDFFCDFF0000000000000000D7FFD7FFC0FFC0FF0100010000000000D8FFD8FFC1FFC1FF0000000000000000E2FFE2FFD0FFD0FF0100010000000000FEFFFEFFFDFFFDFF00000000000000001500150021002100FFFFFFFF000000001C001C002D002D00000000000000000003000300050005000000000000000000E5FFE5FFD5FFD5FF0000000000000000D5FFD5FFBCFFBCFF0100010000000000DDFFDDFFC8FFC8FF0000000000000000F0FFF0FFE6FFE6FF0000000000000000FCFFFCFFF9FFF9FF00000000000000000300030005000500000000000000000003000300050005000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000ECFFECFFE0FFE0FF0000000000000000D9FFD9FFC2FFC2FF0000000000000000D4FFD4FFBAFFBAFF0000000000000000EAFFEAFFDEFFDEFFFFFFFFFF0000000005000500080008000000000000000000120012001C001C000000000000000000110011001C001C00000000000000000000000000000000000000000000000000FCFFFCFFFAFFFAFF0000000000000000ECFFECFFE0FFE0FF0000000000000000E4FFE4FFD3FFD3FF0000000000000000E1FFE1FFCEFFCEFFFFFFFFFF00000000F5FFF5FFEFFFEFFF0100010000000000090009000E000E0000000000000000001B001B002B002B000000000000000000080008000C000C000000000000000000FBFFFBFFF7FFF7FF0000000000000000E1FFE1FFCEFFCEFF0000000000000000EAFFEAFFDEFFDEFF0000000000000000F3FFF3FFEBFFEBFF0000000000000000000000000000000000000000000000000300030005000500000000000000000000000000000000000000000000000000FCFFFCFFF9FFF9FF0000000000000000FBFFFBFFF7FFF7FF0000000000000000ECFFECFFE0FFE0FF0000000000000000E4FFE4FFD3FFD3FF0000000000000000DCFFDCFFC8FFC8FF0000000000000000E9FFE9FFDBFFDBFF0000000000000000F6FFF6FFF0FFF0FF0100010000000000FDFFFDFFFBFFFBFF0000000000000000F8FFF8FFF3FFF3FF0000000000000000EEFFEEFFE4FFE4FF0000000000000000F1FFF1FFE8FFE8FF0000000000000000EEFFEEFFE3FFE3FF0100010000000000F3FFF3FFEBFFEBFF0000000000000000FCFFFCFFF9FFF9FF00000000000000000E000E001600160001000100000000001D001D002E002E000100010000000000120012001C001C000000000000000000FCFFFCFFFAFFFAFF0000000000000000E9FFE9FFDBFFDBFF0000000000000000F0FFF0FFE6FFE6FF0000000000000000FEFFFEFFFDFFFDFF00000000000000000A000A0011001100000000000000000003000300050005000000000000000000070007000B000B0000000000000000000400040006000600FFFFFFFF0000000005000500080008000000000000000000F7FFF7FFF2FFF2FF0000000000000000EBFFEBFFDEFFDEFF0000000000000000E9FFE9FFDCFFDCFF0000000000000000F7FFF7FFF2FFF2FF000000000000000004000400070007000000000000000000090009000F000F0000000000000000000500050009000900000000000000000003000300050005000100010000000000FDFFFDFFFBFFFBFF0000000000000000F5FFF5FFEFFFEFFFFFFFFFFF00000000E8FFE8FFD9FFD9FF0000000000000000E4FFE4FFD4FFD4FF0000000000000000F2FFF2FFEAFFEAFF00000000000000000C000C0013001300FFFFFFFF0000000019001900280028000000000000000000120012001C001C000000000000000000F9FFF9FFF5FFF5FF0100010000000000E1FFE1FFCEFFCEFFFFFFFFFF00000000E1FFE1FFCEFFCEFF0000000000000000E4FFE4FFD4FFD4FF0000000000000000F2FFF2FFEAFFEAFFFFFFFFFF00000000F4FFF4FFEDFFEDFF0000000000000000FDFFFDFFFBFFFBFF0000000000000000090009000E000E0000000000000000000C000C0014001400000000000000000004000400060006000000000000000000F6FFF6FFEFFFEFFF0000000000000000F0FFF0FFE7FFE7FF0000000000000000FEFFFEFFFCFFFCFFFFFFFFFF000000000B000B001200120000000000000000000A000A0011001100FFFFFFFF00000000070007000B000B00000000000000000002000200030003000100010000000000070007000B000B00000000000000000000000000000000000100010000000000F7FFF7FFF2FFF2FF0100010000000000F4FFF4FFECFFECFF0000000000000000000000000000000000000000000000000B000B001200120001000100000000000A000A00110011000000000000000000F5FFF5FFEEFFEEFF0000000000000000EBFFEBFFDEFFDEFF0000000000000000E8FFE8FFDAFFDAFF0000000000000000F7FFF7FFF2FFF2FF0000000000000000030003000500050001000100000000000A000A001000100001000100000000000B000B00110011000100010000000000FAFFFAFFF6FFF6FF0000000000000000E9FFE9FFDCFFDCFF0000000000000000DCFFDCFFC8FFC8FF0000000000000000E2FFE2FFD1FFD1FF0000000000000000F6FFF6FFF0FFF0FF0000000000000000FEFFFEFFFCFFFCFF0100010000000000090009000E000E00FFFFFFFF000000000500050009000900FFFFFFFF00000000060006000A000A000000000000000000FAFFFAFFF6FFF6FF0000000000000000E9FFE9FFDBFFDBFFFFFFFFFF00000000DEFFDEFFCAFFCAFF0000000000000000E4FFE4FFD4FFD4FF0000000000000000F6FFF6FFF0FFF0FF000000000000000003000300050005000000000000000000080008000C000C000100010000000000FDFFFDFFFBFFFBFF0000000000000000F2FFF2FFEAFFEAFF0000000000000000EBFFEBFFDEFFDEFF0000000000000000ECFFECFFE0FFE0FFFFFFFFFF00000000FCFFFCFFF9FFF9FF0000000000000000090009000F000F00000000000000000018001800260026000000000000000000180018002600260000000000000000000E000E00160016000000000000000000F6FFF6FFF0FFF0FFFFFFFFFF00000000E5FFE5FFD5FFD5FF0000000000000000DEFFDEFFCBFFCBFF0000000000000000F0FFF0FFE6FFE6FF00000000000000000100010002000200FFFFFFFF00000000120012001C001C0000000000000000001600160023002300FFFFFFFF00000000120012001C001C0000000000000000000E000E00160016000000000000000000FCFFFCFFFAFFFAFF0000000000000000F4FFF4FFECFFECFF0100010000000000F1FFF1FFE8FFE8FF00000000000000000500050008000800000000000000000018001800270027000000000000000000270027003E003E0001000100000000001E001E003000300001000100000000000C000C0013001300FFFFFFFF00000000F2FFF2FFEAFFEAFF0000000000000000E6FFE6FFD7FFD7FFFFFFFFFF00000000E9FFE9FFDBFFDBFF0000000000000000FDFFFDFFFBFFFBFF00000000000000000D000D0015001500FFFFFFFF0000000017001700250025000000000000000000110011001C001C00000000000000000002000200030003000000000000000000F1FFF1FFE9FFE9FF0100010000000000EEFFEEFFE3FFE3FF0000000000000000F8FFF8FFF3FFF3FF0000000000000000130013001F001F00FFFFFFFF00000000220022003500350001000100000000001C001C002C002C0000000000000000000B000B00120012000000000000000000FDFFFDFFFBFFFBFF0100010000000000FDFFFDFFFBFFFBFF0000000000000000040004000600060000000000000000000D000D001500150001000100000000001E001E002F002F0000000000000000002E002E004A004A000000000000000000300030004C004C0001000100000000001C001C002C002C000000000000000000FFFFFFFFFEFFFEFF0000000000000000EFFFEFFFE4FFE4FF0000000000000000F5FFF5FFEEFFEEFF00000000000000000C000C0014001400000000000000000022002200350035000000000000000000300030004C004C0000000000000000002E002E004A004A0000000000000000002000200033003300FFFFFFFF0000000003000300050005000000000000000000E5FFE5FFD5FFD5FFFFFFFFFF00000000D7FFD7FFC0FFC0FF0000000000000000E9FFE9FFDCFFDCFF00000000000000000A000A00100010000000000000000000220022003500350000000000000000001F001F003200320001000100000000000200020004000400FFFFFFFF00000000F1FFF1FFE9FFE9FF0000000000000000E9FFE9FFDBFFDBFFFFFFFFFF00000000F5FFF5FFEEFFEEFF000000000000000000000000000000000000000000000000110011001B001B0001000100000000002400240038003800FFFFFFFF000000002C002C0046004600000000000000000022002200360036000000000000000000FBFFFBFFF8FFF8FF0000000000000000DEFFDEFFCAFFCAFF0000000000000000D5FFD5FFBCFFBCFF0000000000000000E7FFE7FFD9FFD9FF0000000000000000010001000200020000000000000000000A000A001100110000000000000000000C000C0014001400000000000000000000000000000000000000000000000000F8FFF8FFF3FFF3FF0000000000000000E9FFE9FFDCFFDCFF0000000000000000EBFFEBFFDEFFDEFF0000000000000000F5FFF5FFEFFFEFFF010001000000000015001500220022000000000000000000280028003F003F0000000000000000002A002A0042004200FFFFFFFF00000000110011001B001B000100010000000000EBFFEBFFDFFFDFFF0000000000000000D6FFD6FFBDFFBDFF0000000000000000D1FFD1FFB6FFB6FF0000000000000000DAFFDAFFC3FFC3FFFFFFFFFF00000000E1FFE1FFCFFFCFFF0100010000000000EEFFEEFFE3FFE3FF0000000000000000F9FFF9FFF5FFF5FF0000000000000000080008000D000D0000000000000000000C000C0014001400000000000000000003000300050005000000000000000000F5FFF5FFEEFFEEFF0000000000000000F9FFF9FFF5FFF5FF000000000000000001000100010001000000000000000000110011001C001C0000000000000000001000100019001900

This is my first time working with audio so I'm not sure what I'm looking for. My guess is that's 8bit PCM stream? Not sure how the channels line up though. My output stream is 16bit signed(SDL_AUDIO_S16LE).

@superhac
Copy link
Author

superhac commented Feb 5, 2025

Using the HINTS var SDL_AUDIODRIVER=disk I was able to dump the stream to disk. But again I'm not sure how this is encoded and what to look for.

https://www.filemail.com/d/dzldjocfinlkjwf

@superhac
Copy link
Author

superhac commented Feb 8, 2025

I wanted to give an update on this. I was able to load the "disk" file I captured above into Audacity importing it in as S16LE with 8 channels. The channel layout was exactly the way I encoded it in mixer and it played just fine. So it must be something within Pulse Audio or the mixer interfaces to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants