dheijl / swyh-rs Goto Github PK
View Code? Open in Web Editor NEWStream What You Hear written in rust, inspired by SWYH.
License: MIT License
Stream What You Hear written in rust, inspired by SWYH.
License: MIT License
On Windows, when trying to unzip, Windows Defender detected:
Detected: Trojan:Script/Oneeva.A!ml
Status: Removed
A thread or app was removed from this device.
Is this real or false alarm?
Triedthe v1.13.19 zip and it was ok.
Hi dheijl, little feedback ..
As you know I use swyh-rs especially with Deezer, today I am testing the sending of sound with Youtube launched on Microsoft Edge, and I have, despite having the volume Max on youtube, a very low volume in the swyh-rs stream .. I also tried with Molotov (a French TV application) same result despite the max volume in the application the stream remains at very low level .. .
Is there a way to choose the sound level of what we send in the stream or to normalize the output stream to a level (0dB) that we could adjust?
I don't understand why I have such a low volume with Edge or Molotov while with Deezer it works well ...
Would it be possible for you to make a build for ubuntu 18.04? I tried the 20.04 build but gives error massages about the version of glibc. I have lubuntu 18.04 on my PC's.
Tried using program with sonos, get "the song is not encoded correctly"
so assuming it wont work with sonos speakers.
Hi again,
Would it be possible to add an option to choose the audio input source?
My problem I want to keep my native sound card as default audio source and use VB-Audio Hifi only for my web browser and my deezer app.
With the sound settings of windows 10 you can choose the audio input and output source by application but it does not work with swyh-rs, so if it is not too complicated to add the option to select Input source that would be a good option
I would point out that with LocalAudioBroadcast which also has no option to select the audio input source, I was able to change the audio input source via the sound settings of windows and therefore completely separate the sounds on my pc and what I send in streaming ..
A new field of research..
Hi dheijl,
this morning i try v1.3.18 but impossible to see my amp, here is the log
https://paste.yunohost.org/wolijafeti.php
Yet the regular SWYH is - going to the IP link prompts for a .wav download rather than stream too ... am I missing something here? :S
Hi, I came across your program while looking to stream music from a Linux or Windows computer to the AudioCast M5.
I've downloaded the windows version, I have no idea how to point it to the AudioCast M5 (I know its IP address on my network) to send the audio to it. Can you explain it to me?
i have more than 5 renderers in my network, but i can see only 2 out of them in the GUI. And every time i start swyh-rs the second renderer shown is changing to another one. The first one stays the same. How can i select a specific renderer out of 5, is it possible to scroll the list ?
Hello,
thanks for great application!
It would be great to have the possibility to minimize to tray sometimes in the future!
Thanks
Hi,
I would like to use your software to stream music to a Volumio server, but when I do so I have no sound. The log shows an error about capturing the audio, this happens on two machines I tested it on. I also tested with the VBAudio HiFi Cable but I get the same error. I hope you can fix this!
I find that there is a very audible low background noise in everything I stream through swhy-rs, regardless of the source or the recording. This only happens with swyh-rs.
I am on Windows 10, streaming via Volumio.
First, thanks for this nice piece of software! :)
Since the release 1.3.24, streaming my sound to a Libratone Zipp speaker doesn't work.
Here's what I do:
With the previous version, it successfully works:
Let me know if you need something else to debug this!
Thanks for your work, @dheijl!
However I have trouble to get to work with a Sonos PLay:1.
Looking in the Sonos S2 app this notification will always pop up when trying to play something.
"Use WMA/WAV" is checked.
I would suggest to implement a way to change the directory for the config and log files from the default home directory. Personally I don't like my home directory to be cluttered, thus I changed the folder location in code. However, that's not really a user friendly solution. An alternative would be to maybe simply make the folder hidden?
Looking for a way to stream docker container audio using this app.
Hi @dheijl I have installed the latest version 1.0.4 ..
This several times that I find this problem of loss of the stream, at the beginning you had thought that my amplifier cut the transmission as soon as a silence was detected and suddenly you had coded us the autoresume play, it works well in general but sometimes without my understanding why the stream is systematically interrupted, without there being any silence since I am reading music, the autoresume works and suddenly I find myself with a stream systematically interrupted then restart. .. Endlessly...
I wonder why my amp decides to stop the stream?
Why this problem only occurs from time to time ... for info I had run swyh-rs without my amp being turned on so I started without any visible renderer then I turned on my amp, swyh-rs detected my amp, I started the stream with the autoresume checked (as usual) and this problem occurred ... I restart swyh-rs but same problem many times, I stop swyh-rs, I start LAB, I start the stream and there is no problem, stream continuously ... I stop LAB and restart swyh-rs and there magic no more cutting the stream ... I don't understand anything. .. But there is something ...
Hi.
Is it posible to add x86 release version?
I tried replace swyh to swyh-rs, but the atom device is using licensed 32bit windows that i would like to keep.
I'm running into an issue streaming when the Audio Source is my Logitech Pro X wireless headset. The audio coming through on my external speakers is garbled noise. Changing the audio source makes streaming work just fine.
The log isn't showing anything unusual, but let me know if there's anything else I can provide:
Configuration { server_port: Some(5901), auto_resume: false, sound_source: "Speakers (Logitech PRO X Wireless Gaming Headset)", log_level: Debug, ssdp_interval_mins: 1.0, auto_reconnect: false, disable_chunked: false, use_wave_format: true, bits_per_sample: Some(16), monitor_rms: false, last_renderer: "Sonos Beam Office Beam - Sonos Beam Media Renderer", last_network: "192.168.1.5", config_dir: "C:\\Users\\Corvid\\.swyh-rs" }
Setup audio sources
Now running at ABOVE_NORMAL_PRIORITY_CLASS
Capturing audio from: Speakers (Logitech PRO X Wireless Gaming Headset)
Default audio SupportedStreamConfig { channels: 8, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Discover networks
Starting SSDP discovery
The streaming server is listening on http://192.168.1.5:5901/stream/swyh.wav
Sample rate: 48000, sample format: audio/L16 (PCM)
AV Stop playing on Bedroom Move - Sonos Move Media Renderer host=192.168.1.234 port=1400
AV Start playing on Bedroom Move - Sonos Move Media Renderer host=192.168.1.234 port=1400 from 192.168.1.5 using AvTransport Play
Received request /stream/swyh.wav from 192.168.1.234:48546
Streaming audio/wave;codec=1 (WAV), input sample format F32, channels=2, rate=48000, disable chunked=false to 192.168.1.234:48546
AV Stop playing on Bedroom Move - Sonos Move Media Renderer host=192.168.1.234 port=1400
Streaming to 192.168.1.234:48546 has ended
AV Stop playing on Office Beam - Sonos Beam Media Renderer host=192.168.1.243 port=1400
AV Start playing on Office Beam - Sonos Beam Media Renderer host=192.168.1.243 port=1400 from 192.168.1.5 using AvTransport Play
Received request /stream/swyh.wav from 192.168.1.243:58272
Streaming audio/wave;codec=1 (WAV), input sample format F32, channels=2, rate=48000, disable chunked=false to 192.168.1.243:58272
The wave_reader is now receiving samples
As an additional data point, I am able to stream from the Logitech Pro X audio source using the original Stream What You Hear with no issues.
Hi dheijl,
I install and try your new release.. And when I changed LOG level or Input Source, I can't see a Restart Button.
Another thing, I do not see the usefulness of the SSDP discovery at regular and adjustable interval, I think that in a classic use, it would be more useful to just put a button to restart the SSDP discovery. When I use swyh-rs on a renderer that is already active and that I turn on my tv for example, it is easier for me to manually search for my tv rather than wait for automatic discovery.. Anyway it works well, but if I start swyh-rs, ssdp discovery find my Harmann I start th stream, then after a moment I start my TV, the GUI give me :
Sorry but always GUI bug.. But nothung serious..
Have a nice day..
Thanks for helping me with the cpal wasapi loopback capture :)
I took a look at the code of swyh and noticed some small things:
cpal::Device
isn't Clone
but you could reuse the result if you move
Lines 305 to 307 in d51bed2
Lines 281 to 287 in d51bed2
static ONETIME_SW: OnceCell<()> = OnceCell::new();
ONETIME_SW.get_or_init(|| {
log("The wave_reader is receiving samples".to_string());
})
(Btw, you could remove the dependency on lazy_static
completely in favor of using once_cell
.)
You could do let chunk = samples.to_vec();
here:
Lines 54 to 56 in d51bed2
You could do self.fifo.extend(chunk);
here:
Lines 73 to 75 in d51bed2
continue;
.)VecDeque
instead of Vec
?Vec::push
is asymptotically O(1)
(constant time) and has better cache locality & less overhead when iterating. Usually Vec
is used for audio buffers.
You could theoretically use chunks_exact_mut
here:
Line 64 in d51bed2
You could reuse this Vec
between frames, to reduce allocations:
Line 851 in d51bed2
You could use RwLock<HashMap<..>>
for CLIENTS
instead of Mutex<HashMap<..>>
, to allow multiple readers at the same time:
Either std: https://doc.rust-lang.org/nightly/std/sync/struct.RwLock.html
Or parking_lot: https://docs.rs/parking_lot/0.11.0/parking_lot/type.RwLock.html#differences-from-the-standard-library-rwlock
Or you could use a concurrent hashmap, but I'm not sure what's best here since I haven't read the whole code..
Note that RwLock
is not always better, at least std's RwLock
on linux.
You can eliminate all the unsafe
blocks around access to CONFIG_CHANGED
like this one or this one
Lines 224 to 226 in d51bed2
Rc<Cell<bool>>
(or AtomicBool
but the closures passed to handle2
don't need to be Send
).
I would have liked to know, if it was possible to create an Android compatible version, I know a good number of users who have been looking for this kind of tools for a long time but under Android ...
When will Swyh-rs.apk ?
Hi,
I use your app since the beginning and when you added the autoreconnect feature it worked.
But until version 1.1.1 it doesn't work, when I check the box, close the app and open it again, the box is unchecked...
Im currently trying to get the device working. It shows up on Windows network:
And it gets detected by swyh-rs:
However, it disconnects after some seconds after enabling the device, and i dont hear anything:
AV Start playing on AudioCast_CC29 host=192.168.0.58 port=49152 from 192.168.0.208 using AvTransport Play
Received request /stream/swyh.wav from 192.168.0.58:60814
Received request /stream/swyh.wav from 192.168.0.58:60816
The wave_reader is now receiving samples
Received request /stream/swyh.wav from 192.168.0.58:60818
Received request /stream/swyh.wav from 192.168.0.58:60820
=>Http connection with 192.168.0.58:60820 terminated [An existing connection was forcibly closed by the remote host. (os error 10054)]
Streaming to 192.168.0.58:60820 has ended
Received request /stream/swyh.wav from 192.168.0.58:60821
=>Http connection with 192.168.0.58:60818 terminated [An existing connection was forcibly closed by the remote host. (os error 10054)]
Streaming to 192.168.0.58:60818 has ended
Hi,
first of all thanks for your hard work. I can't get the audio casting on Linux (Manjaro 20.2.1) to work though.
The renderer is found on the network, but the connection is terminated immediately. No audio is played either.
I attach the log, maybe you can see where this is going wrong. If you need further information, let me know.
Cheers!
Log file:
log.txt
Hi Dheijl,
Would it be possible to add an option to broadcast the sound in a sort of web-radio easily accessible from an internet browser or vlc ?
Actually if I try access http:// "my ip" /stream/swyh.wav with "Opera web browser" or "VLC" the streaming is impossible...
That would be a really interesting option.
Thank you.
Hi @dheijl and all,
I try to use VB-Audio cable Hifi to no longer have the sound coming out simultaneously (well almost ..!) On my pc and in my amplifier via the stream ..
In short when I use VB-Audio it works very well but just the time of a song, then I have a message
log: Received request /stream/swyh.wav from 192.168.1.26:50016
log: =>Http connection with 192.168.1.26:50016 terminated [Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte. (os error 10053)]
log: Streaming to 192.168.1.26:50016 has ended
And I am therefore forced to restart the stream to my amp.
Pushed renderer #0 None Harman Kardon AVR265, state = ON
log: AV Stop playing on Harman Kardon AVR265 host=192.168.1.26 port=80
url: http://192.168.1.26:80/AVTransport/control,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Stop,
=>SOAP xml:
<=SOAP response:
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:StopResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:StopResponse></s:Body></s:Envelope>
log: AV Start playing on Harman Kardon AVR265 host=192.168.1.26 port=80 from 192.168.1.27 using AvTransport Play
AvTransport server URL: http://192.168.1.27:5901/stream/swyh.wav
url: http://192.168.1.26:80/AVTransport/control,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI,
=>SOAP xml:
<=SOAP response:
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse></s:Body></s:Envelope>
url: http://192.168.1.26:80/AVTransport/control,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Play,
=>SOAP xml:
<=SOAP response:
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse></s:Body></s:Envelope>
log: Received request /stream/swyh.wav from 192.168.1.26:50017
log: Streaming to 192.168.1.26:50017 has ended
log: Received request /stream/swyh.wav from 192.168.1.26:50018
log: =>Http connection with 192.168.1.26:50018 terminated [Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte. (os error 10053)]
log: Streaming to 192.168.1.26:50018 has ended
By cons no problem when I use my real sound card ..?
As this app works so well, I would like to know if it would be possible to add a feature to reconnect automaticaly to the last renderer choosen?
With this feature I couldlaunch the app when windows starts and use it like a sound card!
Following from the conversation in SWYH: StreamWhatYouHear/SWYH#35
Running the debug exe v0.3
SWYH to show up in Volumio under media servers. I should be able to click on that and press play and be able to hear all audio from my computer.
(I assume that is the flow, though I've never experienced it and can't be positive that is what is really supposed to happen)
Nothing happens in Volumio (which is unlike straight SWYH which at least shows up in Volumio's media servers window, even if Volumio can't ultimately connect to it). Nothing happens anywhere else either. Just output:
SSDP discovery started
Renderer at : http://192.168.1.53:49152/description.xml
Getting renderer descriptions
Renderer Volumio Volumio http://192.168.1.53:49152/ has 9 services
SSDP discovery complete
Default audio output device: Speakers / Headphones (2- Realtek Audio)
Default config SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Serving on 192.168.1.50:5901
Start playing on Volumio host=192.168.1.53 port=49152 from 192.168.1.50
Received request /stream/swyh.wav from 192.168.1.53:38544
and eventually:
The wave_reader is receiving samples
SSDP discovery started
UDP response at 1:
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=3600
DATE: Wed, 30 Sep 2020 13:04:10 GMT
EXT:
LOCATION: http://192.168.1.53:49152/description.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 39b4a8b6-0278-11eb-a535-936c2f8a36b1
SERVER: Linux/4.19.86-v7+, UPnP/1.0, Portable SDK for UPnP devices/1.6.20.jfd5
X-User-Agent: redsonic
ST: urn:schemas-upnp-org:service:RenderingControl:1
USN: uuid:04255cb4-11f0-58db-0053-0017f700aae4::urn:schemas-upnp-org:service:RenderingControl:1
Renderer at : http://192.168.1.53:49152/description.xml
Getting renderer descriptions
Get service description for http://192.168.1.53:49152/description.xml
Service description:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Volumio</friendlyName>
<manufacturer>Volumio</manufacturer>
<manufacturerURL>https://volumio.org</manufacturerURL>
<modelDescription>The Audiophile Music Player</modelDescription>
<modelName>Volumio</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>https://volumio.org</modelURL>
<serialNumber>42</serialNumber>
<UDN>uuid:04255cb4-11f0-58db-0053-0017f700aae4</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>64</width>
<height>64</height>
<depth>32</depth>
<url>/upmpd/icon.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/upmpd/RenderingControl.xml</SCPDURL>
<controlURL>/ctl/RenderingControl</controlURL>
<eventSubURL>/evt/RenderingControl</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/upmpd/AVTransport.xml</SCPDURL>
<controlURL>/ctl/AVTransport</controlURL>
<eventSubURL>/evt/AVTransport</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/upmpd/ConnectionManager.xml</SCPDURL>
<controlURL>/ctl/ConnectionManager</controlURL>
<eventSubURL>/evt/ConnectionManager</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Product:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Product</serviceId>
<SCPDURL>/upmpd/OHProduct.xml</SCPDURL>
<controlURL>/ctl/OHProduct</controlURL>
<eventSubURL>/evt/OHProduct</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Info:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Info</serviceId>
<SCPDURL>/upmpd/OHInfo.xml</SCPDURL>
<controlURL>/ctl/OHInfo</controlURL>
<eventSubURL>/evt/OHInfo</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Time:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Time</serviceId>
<SCPDURL>/upmpd/OHTime.xml</SCPDURL>
<controlURL>/ctl/OHTime</controlURL>
<eventSubURL>/evt/OHTime</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Volume:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Volume</serviceId>
<SCPDURL>/upmpd/OHVolume.xml</SCPDURL>
<controlURL>/ctl/OHVolume</controlURL>
<eventSubURL>/evt/OHVolume</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Playlist:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Playlist</serviceId>
<SCPDURL>/upmpd/OHPlaylist.xml</SCPDURL>
<controlURL>/ctl/OHPlaylist</controlURL>
<eventSubURL>/evt/OHPlaylist</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Radio:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Radio</serviceId>
<SCPDURL>/upmpd/OHRadio.xml</SCPDURL>
<controlURL>/ctl/OHRadio</controlURL>
<eventSubURL>/evt/OHRadio</eventSubURL>
</service>
</serviceList>
<presentationURL>/upmpd/presentation.html</presentationURL>
</device>
<devicelist></devicelist>
<URLBase>http://192.168.1.53:49152/</URLBase>
</root>
Renderer Volumio Volumio http://192.168.1.53:49152/ has 9 services
.. urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl /ctl/RenderingControl
.. urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /ctl/AVTransport
.. urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager /ctl/ConnectionManager
.. urn:av-openhome-org:service:Product:1 urn:av-openhome-org:serviceId:Product /ctl/OHProduct
.. urn:av-openhome-org:service:Info:1 urn:av-openhome-org:serviceId:Info /ctl/OHInfo
.. urn:av-openhome-org:service:Time:1 urn:av-openhome-org:serviceId:Time /ctl/OHTime
.. urn:av-openhome-org:service:Volume:1 urn:av-openhome-org:serviceId:Volume /ctl/OHVolume
.. urn:av-openhome-org:service:Playlist:1 urn:av-openhome-org:serviceId:Playlist /ctl/OHPlaylist
.. urn:av-openhome-org:service:Radio:1 urn:av-openhome-org:serviceId:Radio /ctl/OHRadio
SSDP discovery complete
Default audio output device: Speakers / Headphones (2- Realtek Audio)
Default config SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Serving on 192.168.1.50:5901
Pushed renderer #0 Volumio Volumio, state = ON
Start playing on Volumio host=192.168.1.53 port=49152 from 192.168.1.50
OHPlaylist server URL: http://192.168.1.50:5901/stream/swyh.wav
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#DeleteAll, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:DeleteAll xmlns:u="urn:av-openhome-org:service:Playlist:1"/></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:DeleteAllResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:DeleteAllResponse>
</s:Body> </s:Envelope>
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#Insert, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Insert xmlns:u="urn:av-openhome-org:service:Playlist:1"><AfterId>0</AfterId><Uri>http://192.168.1.50:5901/stream/swyh.wav</Uri><Metadata><DIDL-Lite><item><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="1" parentID="0" restricted="0"><dc:title>swyh-rs</dc:title><res bitsPerSample="16" nrAudioChannels="2" protocolInfo="http-get:*:audio/wav:*" sampleFrequency="44100">http://192.168.1.50:5901/stream/swyh.wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite></item></DIDL-Lite></Metadata></u:Insert></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:InsertResponse xmlns:u="urn:av-openhome-org:service:Playlist:1">
<NewId>10</NewId>
</u:InsertResponse>
</s:Body> </s:Envelope>
SeekId: 10
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#SeekId, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SeekId xmlns:u="urn:av-openhome-org:service:Playlist:1"><Value>10</Value></u:SeekId></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SeekIdResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:SeekIdResponse>
</s:Body> </s:Envelope>
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#Play, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:av-openhome-org:service:Playlist:1"/></s:Body></s:Envelope>
Received request /stream/swyh.wav from 192.168.1.53:38544
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:PlayResponse>
</s:Body> </s:Envelope>
C:\Users\Asus-AC2N> cd desktop\swyh-rs
C:\Users\Asus-AC2N\Desktop\SWYH-RS>swyh-rs-deb
thread 'main' panicked at 'called Result::unwrap()
on an Err
value: Os { code: 3, kind: NotFound, message: "Le chemin d’accès spécifié est introuvable." }', src\main.rs:144:77
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
C:\Users\Asus-AC2N\Desktop\SWYH-RS>
Hi and first of all thanks for your nice work :-)
Do you have a plan to add also the functionality "Record what you hear", preferably without a file size restriction?
In the original "SWYH" there's a file size limit which is sad since every time I record a long audiobook for later offline-hearing the recording stops after approx. 3 hours...
Thanks again and best regards
@desaiamogh:
Your issue is not related, but it's a valid request. Currently the interface that can connect to the internet is used. I could add a dropdown with the available networks and remember the last choice, while keeping current behaviour on the first start after installation.
Originally posted by @dheijl in #40 (comment)
Thank you for making swyh-rs!
I use it to send application audio to Chromecast devices like so:
App -> VB-Audio HiFi Cable -> swyh-rs -> BubbleUPNP -> Chromecast
In this scenario, ideally the chain is "always on" and I just fire up any given application, start the audio, and it should start playing on my speakers. That kind of works already, however I can find no way to autostart swyh-rs in the background. Is there a way to send it to tray, or hide the GUI altogether, or run it in daemon/system service mode? Basically, what I am asking is to be able to use swyh-rs without having to have the program window running. Maybe a --tray
switch could be implemented that will run it GUI-less with a simple tray icon to close it, or something along those lines.
Hi! This looks like a great utility allowing me to wirelessly use my soundbar as my laptop's sound output. Very cool.
Unfortunately it doesn't seem to work. Sound still keeps coming from my laptop's speakers instead of the soundbar. I have compiled from source and am running on Fedora 35. I see a message in the logs saying "Sorry, you don't have permissions to raise priority....". Any idea what could be going on?
I'm assuming it is not due to incompatibility, because a similar project did work, albeit with quite some latency. I have also disabled SELinux. The soundbar ("Woonkamer") is correctly detected.
Debug logs:
swyh-rs on master [?] is 📦 v1.3.22-beta via 🦀 v1.58.1
✦ ❯ target/release/swyh-rs
15:22:30 [INFO] swyh-rs V 1.3.22-beta - Logging started.
15:22:30 [INFO] Config: Configuration { server_port: Some(5901), auto_resume: true, sound_source: "default", log_level: Debug, ssdp_interval_mins: 1.0, auto_reconnect: true, disable_chunked: false, use_wave_format: false, bits_per_sample: Some(24), monitor_rms: false, last_renderer: "Phorus-Renderer Woonkamer", last_network: "192.168.178.17", config_dir: "/home/anieuwland/.swyh-rs" }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Supported hosts:
[Alsa]
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Available hosts:
[Alsa]
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: ALSA
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default Output Device:
Some("default")
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Devices:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1. "pipewire"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.1. SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.2. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.3. SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.4. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.5. SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.6. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.7. SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.8. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.9. SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.10. SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.11. SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.12. SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.13. SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.14. SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.15. SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.16. SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.17. SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.18. SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.19. SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.20. SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.21. SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.22. SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.23. SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.24. SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.25. SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.26. SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.27. SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.28. SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.29. SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.30. SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.31. SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.32. SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.33. SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.34. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.35. SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.36. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.37. SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.38. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.39. SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.40. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.41. SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.42. SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.43. SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.44. SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.45. SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.46. SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.47. SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.48. SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.49. SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.50. SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.51. SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.52. SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.53. SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.54. SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.55. SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.56. SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.57. SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.58. SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.59. SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.60. SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.61. SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.62. SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.63. SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.64. SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
swyh-rs on master [?] is 📦 v1.3.22-beta via 🦀 v1.58.1
✦ ❯ 15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2. "default"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.1. SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.2. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.3. SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.4. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.5. SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.6. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.7. SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.8. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.9. SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.10. SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.11. SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.12. SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.13. SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.14. SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.15. SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.16. SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.17. SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.18. SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.19. SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.20. SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.21. SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.22. SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.23. SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.24. SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.25. SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.26. SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.27. SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.28. SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.29. SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.30. SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.31. SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.32. SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.33. SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.34. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.35. SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.36. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.37. SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.38. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.39. SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.40. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.41. SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.42. SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.43. SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.44. SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.45. SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.46. SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.47. SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.48. SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.49. SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.50. SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.51. SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.52. SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.53. SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.54. SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.55. SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.56. SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.57. SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.58. SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.59. SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.60. SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.61. SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.62. SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.63. SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.64. SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(1), max_sample_rate: SampleRate(384000), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 3. "sysdefault:CARD=PCH"
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Error: DeviceNotAvailable
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 4. "front:CARD=PCH,DEV=0"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Error: DeviceNotAvailable
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 5. "surround40:CARD=PCH,DEV=0"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Error: DeviceNotAvailable
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 6. "surround51:CARD=PCH,DEV=0"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Error: DeviceNotAvailable
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 7. "surround71:CARD=PCH,DEV=0"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Error: DeviceNotAvailable
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8. "hdmi:CARD=PCH,DEV=0"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.1. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.2. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.3. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.4. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.5. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.6. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.7. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.8. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.9. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.10. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.11. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.12. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.13. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.14. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.15. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.16. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.17. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.18. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.19. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.20. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.21. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.22. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.23. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.24. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.25. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.26. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.27. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 8.28. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9. "hdmi:CARD=PCH,DEV=1"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.1. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.2. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.3. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.4. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.5. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.6. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.7. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.8. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.9. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.10. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.11. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.12. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.13. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.14. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.15. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.16. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.17. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.18. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.19. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.20. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.21. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.22. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.23. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.24. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.25. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.26. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.27. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 9.28. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10. "hdmi:CARD=PCH,DEV=2"
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.1. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.2. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.3. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.4. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.5. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.6. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.7. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.8. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.9. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.10. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.11. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.12. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.13. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.14. SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.15. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.16. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.17. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.18. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.19. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.20. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.21. SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.22. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(32000), max_sample_rate: SampleRate(32000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.23. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.24. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(48000), max_sample_rate: SampleRate(48000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.25. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(88200), max_sample_rate: SampleRate(88200), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.26. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.27. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(176400), max_sample_rate: SampleRate(176400), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: 10.28. SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(192000), max_sample_rate: SampleRate(192000), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 8, max: 1048576 }, sample_format: I16 }
15:22:30 [INFO] Selected audio source: default
15:22:30 [INFO] tb_log: Setup audio sources
15:22:30 [INFO] tb_log: Sorry, but you don't have permissions to raise priority...
15:22:30 [DEBUG] (1) swyh_rs: Try capturing system audio
15:22:30 [INFO] tb_log: Capturing audio from: default
15:22:30 [INFO] tb_log: Default audio SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Range { min: 1, max: 4194304 }, sample_format: F32 }
15:22:30 [INFO] tb_log: Discover networks
15:22:30 [INFO] tb_log: Starting SSDP discovery
15:22:30 [DEBUG] (3) swyh_rs::openhome::avmedia: SSDP discovery started
15:22:30 [DEBUG] (3) swyh_rs::openhome::avmedia: UDP response at 5 from 192.168.178.18:41535:
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=300
DATE: Sun, 13 Feb 2022 15:22:30 GMT
EXT:
LOCATION: http://192.168.178.18:49152/description.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: f286a5f4-1dd1-11b2-bcdb-cf46d6e2c139
SERVER: Linux/3.12.74-retail-development, UPnP/1.0, Portable SDK for UPnP devices/1.6.19
X-User-Agent: redsonic
ST: urn:schemas-upnp-org:service:RenderingControl:1
USN: uuid:3d62cbc4-32f8-4fbc-8618-60b60625f03b::urn:schemas-upnp-org:service:RenderingControl:1
15:22:30 [DEBUG] (3) swyh_rs::openhome::avmedia: SSDP Discovery: AV renderer: http://192.168.178.18:49152/description.xml
15:22:30 [INFO] tb_log: The wave_reader is now receiving samples
15:22:33 [INFO] SSDP discovery: new Renderer found at : http://192.168.178.18:49152/description.xml
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: Getting new renderer descriptions
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: Get service description for http://192.168.178.18:49152/description.xml
15:22:33 [DEBUG] (3) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:33 [DEBUG] (3) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39746, peer: 192.168.178.18:49152, fd: 22 }
15:22:33 [DEBUG] (3) ureq::unit: sending request GET http://192.168.178.18:49152/description.xml
15:22:33 [DEBUG] (3) ureq::unit: writing prelude: GET /description.xml HTTP/1.1
Host: 192.168.178.18:49152
Accept: */*
User-Agent: swyh-rs-Rust
Content-Type: text/xml
accept-encoding: gzip
Content-Length: 0
15:22:33 [DEBUG] (3) ureq::unit: response 200 to GET http://192.168.178.18:49152/description.xml
15:22:33 [DEBUG] (3) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39746, peer: 192.168.178.18:49152, fd: 22 }
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: Service description:
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: <?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:qq="http://www.tencent.com" xmlns:dlna="urn:schemas-dlna-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<qq:X_QPlay_SoftwareCapability>QPlay:2</qq:X_QPlay_SoftwareCapability>
<UDN>uuid:3d62cbc4-32f8-4fbc-8618-60b60625f03b</UDN>
<friendlyName>Woonkamer</friendlyName>
<hostIpAddress>192.168.178.18</hostIpAddress>
<hostPortNo>49152</hostPortNo>
<manufacturer>Phorus</manufacturer>
<manufacturerURL>www.phorus.com</manufacturerURL>
<modelDescription>Phorus-Renderer</modelDescription>
<modelName>Phorus-Renderer</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>www.phorus.com</modelURL>
<dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC>
<serialNumber>000000000001</serialNumber>
<UPC>000000000001</UPC>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>72</width>
<height>72</height>
<depth>32</depth>
<url>/upnpmplayer.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<controlURL>/upnp/control/AVTransport1</controlURL>
<eventSubURL>/upnp/event/AVTransport1</eventSubURL>
<SCPDURL>AVTransport.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/control/RenderingControl1</controlURL>
<eventSubURL>/upnp/event/RenderingControl1</eventSubURL>
<SCPDURL>RendererControl.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<controlURL>/upnp/control/ConnectionManager1</controlURL>
<eventSubURL>/upnp/event/ConnectionManager1</eventSubURL>
<SCPDURL>ConnectionManager.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-tencent-com:service:QPlay:2</serviceType>
<serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
<controlURL>/upnp/control/QPlay1</controlURL>
<eventSubURL>/upnp/event/QPlay1</eventSubURL>
<SCPDURL>QPlayQueueService.xml</SCPDURL>
</service>
</serviceList>
<presentationURL></presentationURL>
</device>
<URLBase>http://192.168.178.18:49152/</URLBase>
</root>
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: Renderer Woonkamer Phorus-Renderer ip 192.168.178.18 at urlbase http://192.168.178.18:49152/ has 4 services
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: => OpenHome Playlist control url: '', AvTransport url: '/upnp/control/AVTransport1'
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /upnp/control/AVTransport1
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl /upnp/control/RenderingControl1
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager /upnp/control/ConnectionManager1
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: .. urn:schemas-tencent-com:service:QPlay:2 urn:tencent-com:serviceId:QPlay /upnp/control/QPlay1
15:22:33 [DEBUG] (3) swyh_rs::openhome::avmedia: SSDP discovery complete
15:22:33 [INFO] Found new renderer Woonkamer Phorus-Renderer at 192.168.178.18
15:22:33 [DEBUG] (1) swyh_rs::ui::mainform: Pushed renderer #0 Phorus-Renderer Woonkamer, state = ON
15:22:33 [DEBUG] (1) swyh_rs::utils::configuration: Updated CONFIG: [Configuration]
ServerPort = 5901
AutoResume = true
SoundCard = "default"
LogLevel = "DEBUG"
SSDPIntervalMins = 1.0
AutoReconnect = true
DisableChunked = false
UseWaveFormat = false
BitsPerSample = 24
MonitorRms = false
LastRenderer = "Phorus-Renderer Woonkamer"
LastNetwork = "192.168.178.17"
ConfigDir = "/home/anieuwland/.swyh-rs"
15:22:33 [INFO] tb_log: AV Stop playing on Woonkamer host=192.168.178.18 port=49152
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Stop,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Stop></s:Body></s:Envelope>
15:22:33 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:33 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39748, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 288
15:22:33 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39748, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39748, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:StopResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:StopResponse>
</s:Body> </s:Envelope>
15:22:33 [INFO] tb_log: AV Start playing on Woonkamer host=192.168.178.18 port=49152 from 192.168.178.17 using AvTransport Play
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: AvTransport server URL: http://192.168.178.17:5901/stream/swyh.wav
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><CurrentURI>http://192.168.178.17:5901/stream/swyh.wav</CurrentURI><CurrentURIMetaData><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="1" parentID="0" restricted="0"><dc:title>swyh-rs</dc:title><res bitsPerSample="24" nrAudioChannels="2" sampleFrequency="44100" protocolInfo="" duration="00:00:00" >http://192.168.178.17:5901/stream/swyh.wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite></CurrentURIMetaData></u:SetAVTransportURI></s:Body></s:Envelope>
15:22:33 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:33 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39750, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 1051
15:22:33 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39750, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39750, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SetAVTransportURIResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:SetAVTransportURIResponse>
</s:Body> </s:Envelope>
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Play,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope>
15:22:33 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:33 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39752, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 304
15:22:33 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:33 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39752, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39752, peer: 192.168.178.18:49152, fd: 14 }
15:22:33 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:PlayResponse>
</s:Body> </s:Envelope>
15:22:34 [INFO] tb_log: The streaming server is listening on http://192.168.178.17:5901/stream/swyh.wav
15:22:34 [INFO] tb_log: Sample rate: 44100, sample format: audio/L24 (PCM)
15:22:34 [DEBUG] (5) tiny_http: Server listening on 192.168.178.17:5901
15:22:34 [DEBUG] (6) tiny_http: Running accept thread
15:22:36 [DEBUG] (1) swyh_rs::ui::mainform: Pushed renderer #0 Phorus-Renderer Woonkamer, state = OFF
15:22:36 [INFO] tb_log: AV Stop playing on Woonkamer host=192.168.178.18 port=49152
15:22:36 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Stop,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Stop></s:Body></s:Envelope>
15:22:36 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:36 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39754, peer: 192.168.178.18:49152, fd: 23 }
15:22:36 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:36 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 288
15:22:36 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:36 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39754, peer: 192.168.178.18:49152, fd: 23 }
15:22:36 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39754, peer: 192.168.178.18:49152, fd: 23 }
15:22:36 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:StopResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:StopResponse>
</s:Body> </s:Envelope>
15:22:37 [DEBUG] (1) swyh_rs::ui::mainform: Pushed renderer #0 Phorus-Renderer Woonkamer, state = ON
15:22:37 [DEBUG] (1) swyh_rs::utils::configuration: Updated CONFIG: [Configuration]
ServerPort = 5901
AutoResume = true
SoundCard = "default"
LogLevel = "DEBUG"
SSDPIntervalMins = 1.0
AutoReconnect = true
DisableChunked = false
UseWaveFormat = false
BitsPerSample = 24
MonitorRms = false
LastRenderer = "Phorus-Renderer Woonkamer"
LastNetwork = "192.168.178.17"
ConfigDir = "/home/anieuwland/.swyh-rs"
15:22:37 [INFO] tb_log: AV Stop playing on Woonkamer host=192.168.178.18 port=49152
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Stop,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Stop></s:Body></s:Envelope>
15:22:37 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:37 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39756, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 288
15:22:37 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39756, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39756, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:StopResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:StopResponse>
</s:Body> </s:Envelope>
15:22:37 [INFO] tb_log: AV Start playing on Woonkamer host=192.168.178.18 port=49152 from 192.168.178.17 using AvTransport Play
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: AvTransport server URL: http://192.168.178.17:5901/stream/swyh.wav
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><CurrentURI>http://192.168.178.17:5901/stream/swyh.wav</CurrentURI><CurrentURIMetaData><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="1" parentID="0" restricted="0"><dc:title>swyh-rs</dc:title><res bitsPerSample="24" nrAudioChannels="2" sampleFrequency="44100" protocolInfo="" duration="00:00:00" >http://192.168.178.17:5901/stream/swyh.wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite></CurrentURIMetaData></u:SetAVTransportURI></s:Body></s:Envelope>
15:22:37 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:37 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39758, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 1051
15:22:37 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39758, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39758, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SetAVTransportURIResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:SetAVTransportURIResponse>
</s:Body> </s:Envelope>
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.178.18:49152/upnp/control/AVTransport1,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Play,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope>
15:22:37 [DEBUG] (1) ureq::stream: connecting to 192.168.178.18:49152 at 192.168.178.18:49152
15:22:37 [DEBUG] (1) ureq::stream: created stream: TcpStream { addr: 192.168.178.17:39760, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::unit: sending request POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::unit: writing prelude: POST /upnp/control/AVTransport1 HTTP/1.1
Host: 192.168.178.18:49152
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"
Content-Type: text/xml; charset="utf-8"
accept-encoding: gzip
Content-Length: 304
15:22:37 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.178.18:49152/upnp/control/AVTransport1
15:22:37 [DEBUG] (1) ureq::pool: adding stream to pool: http|192.168.178.18|49152 -> TcpStream { addr: 192.168.178.17:39760, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) ureq::stream: dropping stream: TcpStream { addr: 192.168.178.17:39760, peer: 192.168.178.18:49152, fd: 23 }
15:22:37 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:upnp-org:serviceId:AVTransport"></u:PlayResponse>
</s:Body> </s:Envelope>
Actually, automatic download of latest release is part of my complete setup script.
Feel free to add it to the wiki if you want.
It works on Windows 7 and probably on Windows 10 as well.
Requirements:
Cygwin
7-Zip
nircmd
Python
PuTTY
KeePass
KeeAgent
In addition, you need to have a backup folder at a location convenient for you.
This folder should include (e.g.):
D:\Backup\swyh-rs\.swyh-rs\config.ini
D:\Backup\swyh-rs\nogui.py
D:\Backup\swyh-rs\swyh-rs.bat
1. The following script downloads the latest version from GitHub, unzips it to the desired location, creates a shortcut in the Start Menu, copies the configuration file and additional files (nogui.py and swyh-rs.bat)
@echo off
set TOOLSDIR=C:\tools
set BACKUPDIR=D:\Backup
FOR /F "tokens=*" %%G IN ('curl -s https://api.github.com/repos/dheijl/swyh-rs/releases/latest ^| grep -oP '^"tag_name^": ^"\K^(.*^)^(^?^=^"^)'') DO set VERSION=%%G
curl -L https://github.com/dheijl/swyh-rs/releases/latest/download/swyh-rs-%VERSION%.zip -o %TEMP%\swyh-rs-%VERSION%.zip
7z x %TEMP%\swyh-rs-%VERSION%.zip -o%TOOLSDIR%\swyh-rs -x!swyh-rs-deb.exe
md "%APPDATA%\Microsoft\Windows\Start Menu\Programs\swyh-rs"
nircmd shortcut "%TOOLSDIR%\swyh-rs\swyh-rs.exe" "%APPDATA%\Microsoft\Windows\Start Menu\Programs\swyh-rs" "swyh-rs"
robocopy %BACKUPDIR%\swyh-rs\.swyh-rs %USERPROFILE%\.swyh-rs /MIR
copy %BACKUPDIR%\swyh-rs\nogui.py %TOOLSDIR%\swyh-rs /y
copy %BACKUPDIR%\swyh-rs\swyh-rs.bat %TOOLSDIR%\swyh-rs /y
2. nogui.py is a script by @Silun - wiki
import subprocess
def startProgram(target):
SW_HIDE = 0
info = subprocess.STARTUPINFO()
info.dwFlags = subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = SW_HIDE
subprocess.Popen(target, startupinfo=info)
program = r'C:\tools\swyh-rs\swyh-rs.exe'
startProgram(program)
3. swyh-rs.bat is a simple script that allows you to toggle application state (start/stop). Additionally it checks if KeePass with KeeAgent plugin is running (it serves SSH keys). It sets the selected sound device, volume to 100% and toggle mute mode. Finally, it remotely starts or stops playing the stream on your music player. The script can be run manually or by using a shortcut created with AutoHotkey
@echo off
tasklist | find /i "KeePass.exe" > nul || start "" "C:\Program Files (x86)\KeePass Password Safe 2\KeePass.exe" && pause
tasklist | find /i "swyh-rs.exe" > nul
IF %ERRORLEVEL% == 1 goto Start
IF %ERRORLEVEL% == 0 goto Stop
:Start
python C:\tools\swyh-rs\nogui.py
nircmd setdefaultsounddevice "Speakers" 1
nircmd setsysvolume 65535
nircmd mutesysvolume 1
plink -batch -ssh [email protected].*.* -P 22 [your_command_to_start http://192.168.*.*:5901/stream/swyh.wav]
exit
:Stop
plink -batch -ssh [email protected].*.* -P 22 [your_command_to_stop http://192.168.*.*:5901/stream/swyh.wav]
nircmd mutesysvolume 0
nircmd killprocess swyh-rs.exe
My scripts above are not very sophisticated. But they work :)
Maybe someone will find it helpful.
Hello, thank you for this awesome software! Unfortunately, it doesn’t work with Moode audio player which is a fork of Volumio. Any idea why? I’m using the current release of Moode, 7.6.1
Hi
I just discovered your software and it seems the solution for all I was looking for.
I tried it on a Windows 10 mini computer, using the virtual cable you mention. My streaming client from scottish HighEnd manufacturer Linn is recognized, but I cannot establish a stable connection. The stream stops and starts permanently. Swyh-rs is displayed on its playlist, though.
How can I figure out, why it does not work or what I’m doing wrong?
Might I add a suggestion, as well? Please add 24bit bit depth. In terms of sound quality imho this is a huge step. Yes, I read your remarks and I humbly would put it that way: I would not want to loose those additional 8 bits in my HiFi-system. They make all the difference in musicality and micro dynamics to me.
My plan is to “digitize” my analog gear (reel to reel & record player) using my studio quality ASIO soundcard in 192kHz / 24 bit mode and send it to streaming client using swyh-rs. That way, I could also use its high quality room correction.
I hope, that the whole process can be run as a service, so I can really run the mini-computer headlesy and automatically start your software in the proper configuration for this very streaming task.
So: thanks for having developed this, thanks for trying to help me get the streaming problem analyzed/solved and thanks for hopefully considering the 24 bit suggestion.
Regards
Hi again,
I don't know if it is really an issue, but I would like to know if it is possible to reduce the delay between the audio played on computer and the sound played bythe renderer (for me a chromecast)?
I have 1.5s which is not bad I think, compared to other app like LAB, Chromecaster GUI... but if it could be improved it would be really great!
Thanks
Hi @dheijl
Today after some time without upgrading I try to go under 1.3.21 but despite my amp being well seen and the stream to the amp starts but no sound coming out of the amp.. I I had already tried 1.3.20 with the same result...
release 1.3.19 works correctly.. I came back to this one..
is there a need to completely remove swyh-rs before installing the new 1.3.21?
here is log.txt from 1.3.21 (no sound) => https://paste.yunohost.org/ewunonoqec.php
here is log.txt from 1.3.19 (sound ok) => https://paste.yunohost.org/iribezevon.php
Hi,
I tried your software with a chromecast emulated as a Openhome renderer via BubbleUpnP server.
The problem is that the device is not listed as renderer...
Second problem: I am unable to choose the audio capture source, by default it uses always the Conexant HD device.
I would rally like to use your app which looks really promising!
Thanks for your help
The original SWYH provides a server accessible by Media Players as well as the traditional Stream To/PlayTo mode of pushing to Renderers. When SWYH is running, the audio stream is also exposed as two "songs" for the different codecs the original SWYH supports, which any player can access (theoretically, as I'm having an issue with theirs, and I think it's an implementation issue).
This would be useful to me because of this, but it would be useful for situations where the target device does not support rendering at all. It'd make this project an even more complete replacement. Sorry for the trouble. (=
See also: "If the device is an UPnP/DLNA Media Player" section.
Hi,
I'm on Windows 10 x64 and am trying to stream to different Sonos devices. SWYH finds and lists all of them correctly, I can activate each one (except obviously ones that are defined as stereo speakers, which makes sense), the log states it's streaming (http://192.168.XX.XX:5901/stream/swyh.wav
), and in the Sonos app I can see that the speaker is playing the stream. There's no sound though. After a bit, I get an error message inside the Sonos app: Unable to play "swyh.wav" - unable to connect to http://192.168.XX.XX:5901
.
"Add WAV Hdr" is turned on as per the readme.
Any advice? Thanks in advance.
-- Jakob
I just got a Sonos play one and i realized its almost impossible to redirect this as windows 10 speaker.
While I need to setup blueiris motion trigger to play alarm through speaker,
Fortunately it's also possible for Blueiris to trigger executable file when motion is triggered,
So is it possible call with a command line, to run audio file played by sonos with this?
Hello!
After updating swyh-rs for the first time in months it wouldn't start anymore. The backtrace revealed that it panicked trying to load my old config.toml created by the previous version (which had less entries than the current one).
I noticed that at the moment the program only checks for an existing 'config.ini' and migrates its contents to a new config.toml file, however as long as a file with name 'config.toml' exists it doesn't check its validity.
The program panics here at the .unwrap()
since de-serializing fails when the toml file is missing some fields (or is otherwise corrupted).
A quick fix should be implementing the Default
trait for Config
:
impl Default for Config {
fn default() -> Self {
Config { configuration: Configuration::default() }
}
}
and then calling .unwrap_or_default()
instead of .unwrap()
:
let mut config: Config = from_str(&s).unwrap_or_default();
However, considering that the old ini files also get migrated the preferred behavior would be trying to recover as many values as possible from the old file and only updating the missing fields with their respective default values, no?
Hi @dheijl
I try your new SWYH-RS, but I've got error 👍
SSDP discovery started
Renderer at : http://192.168.1.26:80/dd.xml
Getting renderer descriptions
Renderer Harman Kardon AVR265 None 192.168.1.26 has 3 services
SSDP discovery complete
Default audio output device: Speakers (Intel SST Audio Device (WDM))
Default config SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Serving on 192.168.1.27:5901
The wave_reader is receiving samples
Error relative URL without a base parsing url
Start playing on Harman Kardon AVR265 host=0.0.0.0 port=0 from 192.168.1.27
With classic SWYH I manage to send the sound to my amp but after a while I lost the connection, having to restart everything.
I found another opensource software which is older but works without disconnection, maybe it can help you in the development of this new swyh-rs ..
https://github.com/protyposis/LocalAudioBroadcast
Thank for all..
My current set up is Kodi playing audio with wasapi and hifi cable and having that audio streamed via airplay using a similar software to yours called tuneblade. Unfortunately, airplay is limited to only 41.1khz sample rate and all movies need to be downsampled.
I've gotten your software to function in a similar manner, but only if Kodi is using direct sound and not wasapi. There seems to be a noticeable decrease is quality using direct sound with my stereo set up. The timing for audio/video seems to always be a few milliseconds off and is not a consistent amount delayed every time a video is launched. Is there a way for swyh-rs to be able to stream audio from applications using wasapi? Thanks again for your time and this software!
I can get tag_name correctly from https://api.github.com/repos/dheijl/swyh-rs/releases/latest
But link https://github.com/dheijl/swyh-rs/releases/latest/download/swyh-rs-1.3.8.zip doesn't work.
It would be great if this feature worked. This makes it possible to use in scripts.
I use this chain to play audio:
Audio Player -> VB-Audio Virtual HiFi Cable -> SWYH-RS -> BubbleUPNP (DLNA mode) -> Google Nest Audio Stereo Pair
When swyh-rs is started, it works correctly and audio plays just like it should. However, after about ~20 minutes of having no music playing in my audio player, something breaks and there will be no more sound coming from my speakers. In fact, the debug log generates no entry at all for when audio is resumed after that time, so I added something manually.
swyh-rs is configured like so:
This is the debug log, generated with the standard version and log level set to debug.
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Supported hosts:
[Wasapi]
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Available hosts:
[Wasapi]
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: WASAPI
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Default Output Device:
Some("Soundkarte (ASUS Xonar D2X Audio Device)")
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Devices:
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 1. "Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 1.1. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(44100), max_sample_rate: SampleRate(44100), buffer_size: Unknown, sample_format: F32 }
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Unknown, sample_format: F32 }
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 2. "Soundkarte (ASUS Xonar D2X Audio Device)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: All supported output stream configs:
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 2.1. SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(96000), max_sample_rate: SampleRate(96000), buffer_size: Unknown, sample_format: F32 }
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: Default output stream config:
SupportedStreamConfig { channels: 2, sample_rate: SampleRate(96000), buffer_size: Unknown, sample_format: F32 }
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 3. "Mikrofon (ASUS Xonar D2X Audio Device)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 4. "Wave (ASUS Xonar D2X Audio Device)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 5. "Hi-Fi Cable Output (VB-Audio Hi-Fi Cable)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 6. "Mikrofon (Steam Streaming Microphone)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 7. "SPDIF In (ASUS Xonar D2X Audio Device)"
17:27:48 [DEBUG] (1) swyh_rs::utils::audiodevices: 8. "Stereo Mix (ASUS Xonar D2X Audio Device)"
17:27:48 [INFO] Selected audio source: Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)
17:27:48 [INFO] tb_log: Setup audio sources
17:27:48 [INFO] tb_log: Now running at ABOVE_NORMAL_PRIORITY_CLASS
17:27:48 [DEBUG] (1) swyh_rs: Try capturing system audio
17:27:48 [INFO] tb_log: Capturing audio from: Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)
17:27:48 [INFO] tb_log: Default audio SupportedStreamConfig { channels: 2, sample_rate: SampleRate(44100), buffer_size: Unknown, sample_format: F32 }
17:27:48 [INFO] tb_log: Starting SSDP discovery
17:27:48 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery started
17:27:48 [INFO] tb_log: The streaming server is listening on http://192.168.1.99:5901/stream/swyh.wav
17:27:48 [INFO] tb_log: Sample rate: 44100, sample format: audio/l16 (PCM)
17:27:48 [DEBUG] (5) tiny_http: Server listening on 192.168.1.99:5901
17:27:48 [DEBUG] (6) tiny_http: Running accept thread
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: UDP response at 2631 from 192.168.1.99:50826:
HTTP/1.1 200 OK
Ext:
St: urn:schemas-upnp-org:service:RenderingControl:1
Server: Windows10/10.0 UPnP/1.0 BubbleUPnPServer/0.9-update38
Usn: uuid:a650210f-9d3e-1235-0000-00004d059e7e::urn:schemas-upnp-org:service:RenderingControl:1
Cache-control: max-age=1800
Location: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP Discovery: AV renderer: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [INFO] SSDP discovery: new Renderer found at : http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: Getting new renderer descriptions
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: Get service description for http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [INFO] sending request GET http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [DEBUG] (4) ureq::unit: writing prelude: GET /dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml HTTP/1.1
Host: 192.168.1.99:49836
Accept: */*
User-Agent: swyh-rs-Rust
Content-Type: text/xml
Content-Length: 0
17:27:51 [DEBUG] (4) ureq::unit: response 200 to GET http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: Service description:
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: <?xml version="1.0" encoding="utf-8" standalone="yes"?><root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><UDN>uuid:a650210f-9d3e-1235-0000-00004d059e7e</UDN><friendlyName>Nest Audios (DLNA)</friendlyName><manufacturer>Bubblesoft</manufacturer><manufacturerURL>http://forum.xda-developers.com/showthread.php?t=1118891</manufacturerURL><modelDescription>BubbleUPnP Google Cast DLNA renderer</modelDescription><modelName>BubbleUPnP Google Cast DLNA renderer</modelName><modelNumber>0.9-update38</modelNumber><modelURL></modelURL><serialNumber>0.9-update38</serialNumber><presentationURL>http://192.168.1.99:58050</presentationURL><dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC><iconList><icon><mimetype>image/png</mimetype><width>98</width><height>55</height><depth>32</depth><url>/dev/a650210f-9d3e-1235-0000-00004d059e7e/icon.png</url></icon></iconList><serviceList><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVTransport</serviceId><controlURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action</controlURL><eventSubURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/event</eventSubURL><SCPDURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/desc.xml</SCPDURL></service><service><serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType><serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId><controlURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/RenderingControl/action</controlURL><eventSubURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/RenderingControl/event</eventSubURL><SCPDURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/RenderingControl/desc.xml</SCPDURL></service><service><serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType><serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId><controlURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/ConnectionManager/action</controlURL><eventSubURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/ConnectionManager/event</eventSubURL><SCPDURL>/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/ConnectionManager/desc.xml</SCPDURL></service></serviceList></device></root>
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: Renderer Nest Audios (DLNA) BubbleUPnP Google Cast DLNA renderer ip 192.168.1.99 at urlbase http://192.168.1.99:49836/ has 3 services
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: => OpenHome Playlist control url: '', AvTransport url: '/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action'
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/RenderingControl/action
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: .. urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/ConnectionManager/action
17:27:51 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery complete
17:27:51 [INFO] Found new renderer Nest Audios (DLNA) BubbleUPnP Google Cast DLNA renderer at 192.168.1.99
17:27:51 [DEBUG] (1) swyh_rs: Pushed renderer #0 BubbleUPnP Google Cast DLNA renderer Nest Audios (DLNA), state = ON
17:27:51 [INFO] tb_log: AV Stop playing on Nest Audios (DLNA) host=192.168.1.99 port=49836
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Stop,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Stop></s:Body></s:Envelope>
17:27:51 [INFO] sending request POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) ureq::unit: writing prelude: POST /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action HTTP/1.1
Host: 192.168.1.99:49836
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Stop"
Content-Type: text/xml; charset="utf-8"
Content-Length: 288
17:27:51 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:StopResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"/></s:Body></s:Envelope>
17:27:51 [INFO] tb_log: AV Start playing on Nest Audios (DLNA) host=192.168.1.99 port=49836 from 192.168.1.99 using AvTransport Play
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: AvTransport server URL: http://192.168.1.99:5901/stream/swyh.wav
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><CurrentURI>http://192.168.1.99:5901/stream/swyh.wav</CurrentURI><CurrentURIMetaData><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="1" parentID="0" restricted="0"><dc:title>swyh-rs</dc:title><res bitsPerSample="16" nrAudioChannels="2" protocolInfo="http-get:*:audio/l16;rate=44100;channels=2:DLNA.ORG_PN=LPCM" sampleFrequency="44100" duration="0" >http://192.168.1.99:5901/stream/swyh.wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite></CurrentURIMetaData></u:SetAVTransportURI></s:Body></s:Envelope>
17:27:51 [INFO] sending request POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) ureq::unit: writing prelude: POST /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action HTTP/1.1
Host: 192.168.1.99:49836
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"
Content-Type: text/xml; charset="utf-8"
Content-Length: 1099
17:27:51 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"/></s:Body></s:Envelope>
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: url: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action,
=>SOAP Action: urn:schemas-upnp-org:service:AVTransport:1#Play,
=>SOAP xml:
<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope>
17:27:51 [INFO] sending request POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) ureq::unit: writing prelude: POST /dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action HTTP/1.1
Host: 192.168.1.99:49836
Connection: close
User-Agent: swyh-rs-Rust/0.x
Accept: */*
SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#Play"
Content-Type: text/xml; charset="utf-8"
Content-Length: 304
17:27:51 [DEBUG] (1) ureq::unit: response 200 to POST http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/svc/upnp-org/AVTransport/action
17:27:51 [DEBUG] (1) swyh_rs::openhome::avmedia: <=SOAP response: <?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"/></s:Body></s:Envelope>
17:27:52 [INFO] tb_log: Received request /stream/swyh.wav from 192.168.1.99:55306
17:27:52 [DEBUG] (8) swyh_rs: Now have 1 streaming clients
17:28:12 [INFO] tb_log: The wave_reader is now receiving samples
17:37:51 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery started
17:37:53 [DEBUG] (4) swyh_rs::openhome::avmedia: UDP response at 2181 from 192.168.1.99:50826:
HTTP/1.1 200 OK
Ext:
St: urn:schemas-upnp-org:service:RenderingControl:1
Server: Windows10/10.0 UPnP/1.0 BubbleUPnPServer/0.9-update38
Usn: uuid:a650210f-9d3e-1235-0000-00004d059e7e::urn:schemas-upnp-org:service:RenderingControl:1
Cache-control: max-age=1800
Location: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:37:53 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP Discovery: AV renderer: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:37:54 [INFO] SSDP discovery: Skipping known Renderer at http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:37:54 [DEBUG] (4) swyh_rs::openhome::avmedia: Getting new renderer descriptions
17:37:54 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery complete
17:47:54 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery started
17:47:56 [DEBUG] (4) swyh_rs::openhome::avmedia: UDP response at 1845 from 192.168.1.99:50826:
HTTP/1.1 200 OK
Ext:
St: urn:schemas-upnp-org:service:RenderingControl:1
Server: Windows10/10.0 UPnP/1.0 BubbleUPnPServer/0.9-update38
Usn: uuid:a650210f-9d3e-1235-0000-00004d059e7e::urn:schemas-upnp-org:service:RenderingControl:1
Cache-control: max-age=1800
Location: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:47:56 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP Discovery: AV renderer: http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:47:57 [INFO] SSDP discovery: Skipping known Renderer at http://192.168.1.99:49836/dev/a650210f-9d3e-1235-0000-00004d059e7e/desc.xml
17:47:57 [DEBUG] (4) swyh_rs::openhome::avmedia: Getting new renderer descriptions
17:47:57 [DEBUG] (4) swyh_rs::openhome::avmedia: SSDP discovery complete
------------------------
Manual entry - music resumes playing around 17:57:00 but log generates no entry for that. No sound is coming from the speakers.
------------------------
17:57:22
Also, I noticed the time in the logs is off by 1 hour, but that isn't really a problem I guess :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.