From f170e736c5c3f173062bcd92392e7cdca84a2796 Mon Sep 17 00:00:00 2001 From: loki Date: Wed, 12 Feb 2020 18:05:42 +0100 Subject: [PATCH] Fix Windows not accepting connections on RTSP --- sunshine/network.cpp | 4 ++-- sunshine/platform/linux.cpp | 19 +++++++------------ sunshine/stream.cpp | 4 ++-- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/sunshine/network.cpp b/sunshine/network.cpp index 833bed67..1efb5364 100644 --- a/sunshine/network.cpp +++ b/sunshine/network.cpp @@ -95,10 +95,10 @@ std::string_view to_enum_string(net_e net) { } host_t host_create(ENetAddress &addr, std::size_t peers, std::uint16_t port) { - enet_address_set_host(&addr, "::"); + enet_address_set_host(&addr, "0.0.0.0"); enet_address_set_port(&addr, port); - return host_t { enet_host_create(AF_INET6, &addr, peers, 1, 0, 0) }; + return host_t { enet_host_create(AF_INET, &addr, peers, 1, 0, 0) }; } void free_host(ENetHost *host) { diff --git a/sunshine/platform/linux.cpp b/sunshine/platform/linux.cpp index 9f094288..7c3540e0 100644 --- a/sunshine/platform/linux.cpp +++ b/sunshine/platform/linux.cpp @@ -3,13 +3,12 @@ // #include "common.h" -#include "../main.h" #include +#include #include #include -#include #include #include @@ -23,9 +22,9 @@ #include #include -#include -#include -#include +#include "sunshine/task_pool.h" +#include "sunshine/config.h" +#include "sunshine/main.h" namespace platf { using namespace std::literals; @@ -300,7 +299,7 @@ struct mic_attr_t : public mic_t { pa_sample_spec ss; util::safe_ptr mic; - explicit mic_attr_t(const pa_sample_spec& ss) : ss(ss), mic {} {} + explicit mic_attr_t(pa_sample_format format, std::uint32_t sample_rate, std::uint8_t channels) : ss { format, sample_rate, channels }, mic {} {} capture_e sample(std::vector &sample_buf) override { auto sample_size = sample_buf.size(); @@ -337,11 +336,7 @@ std::unique_ptr display() { } std::unique_ptr microphone(std::uint32_t sample_rate) { - std::unique_ptr mic { - new mic_attr_t { - { PA_SAMPLE_S16LE, sample_rate, 2 } - } - }; + auto mic = std::make_unique(PA_SAMPLE_S16LE, sample_rate, 2); int status; @@ -354,7 +349,7 @@ std::unique_ptr microphone(std::uint32_t sample_rate) { } mic->mic.reset( - pa_simple_new(nullptr, "sunshine", pa_stream_direction_t::PA_STREAM_RECORD, audio_sink, "sunshine_record", &mic->ss, nullptr, nullptr, &status) + pa_simple_new(nullptr, "sunshine", pa_stream_direction_t::PA_STREAM_RECORD, audio_sink, "sunshine-record", &mic->ss, nullptr, nullptr, &status) ); if(!mic->mic) { diff --git a/sunshine/stream.cpp b/sunshine/stream.cpp index a8ece2b5..4157d662 100644 --- a/sunshine/stream.cpp +++ b/sunshine/stream.cpp @@ -201,8 +201,8 @@ struct broadcast_ctx_t { asio::io_service io; - udp::socket video_sock { io, udp::endpoint(udp::v6(), VIDEO_STREAM_PORT) }; - udp::socket audio_sock { io, udp::endpoint(udp::v6(), AUDIO_STREAM_PORT) }; + udp::socket video_sock { io, udp::endpoint(udp::v4(), VIDEO_STREAM_PORT) }; + udp::socket audio_sock { io, udp::endpoint(udp::v4(), AUDIO_STREAM_PORT) }; control_server_t control_server { CONTROL_PORT }; };