Merge branch 'nightly' into fix/image-paths
This commit is contained in:
@@ -157,7 +157,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Publish AUR package
|
- name: Publish AUR package
|
||||||
if: ${{ env.aur_publish == 'true' }}
|
if: ${{ env.aur_publish == 'true' }}
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@v2.4.1
|
uses: KSXGitHub/github-actions-deploy-aur@v2.5.0
|
||||||
with:
|
with:
|
||||||
pkgname: ${{ env.aur_pkg }}
|
pkgname: ${{ env.aur_pkg }}
|
||||||
pkgbuild: ./artifacts/PKGBUILD
|
pkgbuild: ./artifacts/PKGBUILD
|
||||||
|
|||||||
@@ -94,8 +94,8 @@ modules:
|
|||||||
- /share
|
- /share
|
||||||
sources:
|
sources:
|
||||||
- type: archive
|
- type: archive
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/f/ffmpeg/ffmpeg_4.4.2.orig.tar.xz
|
url: http://archive.ubuntu.com/ubuntu/pool/universe/f/ffmpeg/ffmpeg_5.1.1.orig.tar.xz
|
||||||
sha256: af419a7f88adbc56c758ab19b4c708afbcae15ef09606b82b855291f6a6faa93
|
sha256: 95bf3ff8c496511e71e958fb249e663c8c9c3de583c5bebc0f5a9745abbc0435
|
||||||
modules:
|
modules:
|
||||||
- name: x264
|
- name: x264
|
||||||
config-opts:
|
config-opts:
|
||||||
@@ -103,8 +103,8 @@ modules:
|
|||||||
- --enable-shared
|
- --enable-shared
|
||||||
sources:
|
sources:
|
||||||
- type: archive
|
- type: archive
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/universe/x/x264/x264_0.163.3060+git5db6aa6.orig.tar.gz
|
url: http://archive.ubuntu.com/ubuntu/pool/universe/x/x264/x264_0.164.3095+gitbaee400.orig.tar.gz
|
||||||
sha256: 0c7a5585f1b160c91eab8114d8493e65d08d2dfdc5b5d6ae46bbe5523469df9d
|
sha256: 8b237e94b08c196a1da22f2f25875f10be4cff3648df4eeff21e00da8f683fc2
|
||||||
|
|
||||||
- name: x265
|
- name: x265
|
||||||
buildsystem: cmake-ninja
|
buildsystem: cmake-ninja
|
||||||
@@ -179,8 +179,8 @@ modules:
|
|||||||
- /bin
|
- /bin
|
||||||
sources:
|
sources:
|
||||||
- type: archive
|
- type: archive
|
||||||
url: http://archive.ubuntu.com/ubuntu/pool/main/libe/libevdev/libevdev_1.12.1+dfsg.orig.tar.xz
|
url: http://archive.ubuntu.com/ubuntu/pool/main/libe/libevdev/libevdev_1.13.0+dfsg.orig.tar.xz
|
||||||
sha256: a9aadd9c1ac64e47ca88776555ea6d0030d678b518f593082a13354e0d8016db
|
sha256: a882e13ef1dd6bd227318080cabf60fe5af3c06471259d3acfc9dbfb202351a7
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
- name: libcheck
|
- name: libcheck
|
||||||
|
|||||||
+7
-1
@@ -162,8 +162,14 @@ void capture(safe::mail_t mail, config_t config, void *channel_data) {
|
|||||||
if(!ref->sink_flag->exchange(true, std::memory_order_acquire)) {
|
if(!ref->sink_flag->exchange(true, std::memory_order_acquire)) {
|
||||||
ref->restore_sink = !config.flags[config_t::HOST_AUDIO];
|
ref->restore_sink = !config.flags[config_t::HOST_AUDIO];
|
||||||
|
|
||||||
|
// If the sink is empty (Host has no sink!), definately switch to the virtual.
|
||||||
|
if(ref->sink.host.empty()) {
|
||||||
|
if(control->set_sink(*sink)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
// If the client requests audio on the host, don't change the default sink
|
// If the client requests audio on the host, don't change the default sink
|
||||||
if(!config.flags[config_t::HOST_AUDIO] && control->set_sink(*sink)) {
|
else if(!config.flags[config_t::HOST_AUDIO] && control->set_sink(*sink)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -343,12 +343,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto sink_name = get_default_sink_name();
|
auto sink_name = get_default_sink_name();
|
||||||
if(sink_name.empty()) {
|
sink.host = sink_name;
|
||||||
BOOST_LOG(warning) << "Couldn't find an active sink"sv;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
sink.host = sink_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(index.stereo == PA_INVALID_INDEX) {
|
if(index.stereo == PA_INVALID_INDEX) {
|
||||||
index.stereo = load_null(stereo, speaker::map_stereo, sizeof(speaker::map_stereo));
|
index.stereo = load_null(stereo, speaker::map_stereo, sizeof(speaker::map_stereo));
|
||||||
@@ -380,6 +375,10 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(sink_name.empty()) {
|
||||||
|
BOOST_LOG(warning) << "Couldn't find an active default sink. Continuing with virtual audio only."sv;
|
||||||
|
}
|
||||||
|
|
||||||
if(nullcount == 3) {
|
if(nullcount == 3) {
|
||||||
sink.null = std::make_optional(sink_t::null_t { stereo, surround51, surround71 });
|
sink.null = std::make_optional(sink_t::null_t { stereo, surround51, surround71 });
|
||||||
}
|
}
|
||||||
@@ -388,8 +387,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string get_default_sink_name() {
|
std::string get_default_sink_name() {
|
||||||
std::string sink_name = "@DEFAULT_SINK@"s;
|
std::string sink_name;
|
||||||
auto alarm = safe::make_alarm<int>();
|
auto alarm = safe::make_alarm<int>();
|
||||||
|
|
||||||
cb_simple_t<pa_server_info *> server_f = [&](ctx_t::pointer ctx, const pa_server_info *server_info) {
|
cb_simple_t<pa_server_info *> server_f = [&](ctx_t::pointer ctx, const pa_server_info *server_info) {
|
||||||
if(!server_info) {
|
if(!server_info) {
|
||||||
@@ -397,7 +396,9 @@ public:
|
|||||||
alarm->ring(-1);
|
alarm->ring(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
sink_name = server_info->default_sink_name;
|
if(server_info->default_sink_name) {
|
||||||
|
sink_name = server_info->default_sink_name;
|
||||||
|
}
|
||||||
alarm->ring(0);
|
alarm->ring(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -408,8 +409,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string get_monitor_name(const std::string &sink_name) {
|
std::string get_monitor_name(const std::string &sink_name) {
|
||||||
std::string monitor_name = "@DEFAULT_MONITOR@"s;
|
std::string monitor_name;
|
||||||
auto alarm = safe::make_alarm<int>();
|
auto alarm = safe::make_alarm<int>();
|
||||||
|
|
||||||
|
if(sink_name.empty()) {
|
||||||
|
return monitor_name;
|
||||||
|
}
|
||||||
|
|
||||||
cb_t<pa_sink_info *> sink_f = [&](ctx_t::pointer ctx, const pa_sink_info *sink_info, int eol) {
|
cb_t<pa_sink_info *> sink_f = [&](ctx_t::pointer ctx, const pa_sink_info *sink_info, int eol) {
|
||||||
if(!sink_info) {
|
if(!sink_info) {
|
||||||
|
|||||||
Reference in New Issue
Block a user