diff --git a/src/pipewire/impl-client.c b/src/pipewire/impl-client.c index b4a3c2a2e..1279472a6 100644 --- a/src/pipewire/impl-client.c +++ b/src/pipewire/impl-client.c @@ -228,6 +228,18 @@ static int finish_register(struct pw_impl_client *client) pw_global_update_keys(client->global, client->info.props, keys); pw_global_register(client->global); +#ifdef OLD_MEDIA_SESSION_WORKAROUND + /* + * XXX: temporary workaround for pipewire-media-session, see #2159 + */ + if (spa_streq(spa_dict_lookup(client->info.props, PW_KEY_APP_NAME), + "pipewire-media-session")) { + client->recv_generation = UINT64_MAX; + pw_log_info("impl-client %p: enable old pipewire-media-session workaround", + client); + } +#endif + return 0; } diff --git a/src/pipewire/meson.build b/src/pipewire/meson.build index 969f50b22..f96a022bc 100644 --- a/src/pipewire/meson.build +++ b/src/pipewire/meson.build @@ -91,6 +91,7 @@ configure_file(input : 'version.h.in', install_headers(pipewire_headers, subdir : pipewire_headers_dir) libpipewire_c_args = [ + '-DOLD_MEDIA_SESSION_WORKAROUND=1' ] if build_machine.system() != 'freebsd'