Update dependencies

This updates all crates to their newest release.

For pipewire-rs, this includes bumping the version to 0.3, which means this comment has to fix a few breaking changes, but nothing big.
0.3 also lets us create and delete remote objects, which will be needed for link creation and deletion.
This commit is contained in:
Tom A. Wagner
2021-03-27 19:57:44 +01:00
parent aab1f1bde3
commit d75dee5ea8
4 changed files with 227 additions and 71 deletions

264
Cargo.lock generated
View File

@@ -20,9 +20,15 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.38" version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1" checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
[[package]]
name = "arrayvec"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
[[package]] [[package]]
name = "atty" name = "atty"
@@ -70,10 +76,22 @@ version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]]
name = "bitvec"
version = "0.19.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321"
dependencies = [
"funty",
"radium",
"tap",
"wyz",
]
[[package]] [[package]]
name = "cairo-rs" name = "cairo-rs"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"cairo-sys-rs", "cairo-sys-rs",
@@ -86,11 +104,11 @@ dependencies = [
[[package]] [[package]]
name = "cairo-sys-rs" name = "cairo-sys-rs"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -105,7 +123,16 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
dependencies = [ dependencies = [
"nom", "nom 5.1.2",
]
[[package]]
name = "cfg-expr"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30aa9e2ffbb838c6b451db14f3cd8e63ed622bf859f9956bc93845a10fafc26a"
dependencies = [
"smallvec",
] ]
[[package]] [[package]]
@@ -155,6 +182,12 @@ dependencies = [
"cc", "cc",
] ]
[[package]]
name = "cookie-factory"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b"
[[package]] [[package]]
name = "either" name = "either"
version = "1.6.1" version = "1.6.1"
@@ -174,6 +207,27 @@ dependencies = [
"termcolor", "termcolor",
] ]
[[package]]
name = "errno"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa68f2fb9cae9d37c9b2b3584aba698a2e97f72d7aef7b9f7aa71d8b54ce46fe"
dependencies = [
"errno-dragonfly",
"libc",
"winapi",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067"
dependencies = [
"gcc",
"libc",
]
[[package]] [[package]]
name = "field-offset" name = "field-offset"
version = "0.3.3" version = "0.3.3"
@@ -205,6 +259,12 @@ dependencies = [
"pkg-config", "pkg-config",
] ]
[[package]]
name = "funty"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.13" version = "0.3.13"
@@ -256,10 +316,16 @@ dependencies = [
"slab", "slab",
] ]
[[package]]
name = "gcc"
version = "0.3.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
[[package]] [[package]]
name = "gdk-pixbuf" name = "gdk-pixbuf"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
"gio", "gio",
@@ -270,19 +336,19 @@ dependencies = [
[[package]] [[package]]
name = "gdk-pixbuf-sys" name = "gdk-pixbuf-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"gio-sys", "gio-sys",
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
"libc", "libc",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
name = "gdk4" name = "gdk4"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"cairo-rs", "cairo-rs",
@@ -297,7 +363,7 @@ dependencies = [
[[package]] [[package]]
name = "gdk4-sys" name = "gdk4-sys"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
@@ -306,13 +372,13 @@ dependencies = [
"gobject-sys", "gobject-sys",
"libc", "libc",
"pango-sys", "pango-sys",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
name = "gio" name = "gio"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"futures-channel", "futures-channel",
@@ -328,19 +394,19 @@ dependencies = [
[[package]] [[package]]
name = "gio-sys" name = "gio-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
"libc", "libc",
"system-deps", "system-deps 3.1.0",
"winapi", "winapi",
] ]
[[package]] [[package]]
name = "glib" name = "glib"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"futures-channel", "futures-channel",
@@ -358,7 +424,7 @@ dependencies = [
[[package]] [[package]]
name = "glib-macros" name = "glib-macros"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"heck", "heck",
@@ -372,10 +438,10 @@ dependencies = [
[[package]] [[package]]
name = "glib-sys" name = "glib-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"libc", "libc",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -387,17 +453,17 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]] [[package]]
name = "gobject-sys" name = "gobject-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
name = "graphene-rs" name = "graphene-rs"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib", "glib",
"graphene-sys", "graphene-sys",
@@ -407,18 +473,18 @@ dependencies = [
[[package]] [[package]]
name = "graphene-sys" name = "graphene-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
"pkg-config", "pkg-config",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
name = "gsk4" name = "gsk4"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"cairo-rs", "cairo-rs",
@@ -433,7 +499,7 @@ dependencies = [
[[package]] [[package]]
name = "gsk4-sys" name = "gsk4-sys"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk4-sys", "gdk4-sys",
@@ -442,13 +508,13 @@ dependencies = [
"graphene-sys", "graphene-sys",
"libc", "libc",
"pango-sys", "pango-sys",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
name = "gtk4" name = "gtk4"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"cairo-rs", "cairo-rs",
@@ -470,7 +536,7 @@ dependencies = [
[[package]] [[package]]
name = "gtk4-macros" name = "gtk4-macros"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"heck", "heck",
@@ -485,7 +551,7 @@ dependencies = [
[[package]] [[package]]
name = "gtk4-sys" name = "gtk4-sys"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/gtk-rs/gtk4-rs/#23e1862d1e9d74050cf13d5a563b8397d58e1164" source = "git+https://github.com/gtk-rs/gtk4-rs/#2a267d9b2d895d6d1ad94ec7c72aaf51b7cb7f1c"
dependencies = [ dependencies = [
"cairo-sys-rs", "cairo-sys-rs",
"gdk-pixbuf-sys", "gdk-pixbuf-sys",
@@ -497,7 +563,7 @@ dependencies = [
"gsk4-sys", "gsk4-sys",
"libc", "libc",
"pango-sys", "pango-sys",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -566,10 +632,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]] [[package]]
name = "libc" name = "lexical-core"
version = "0.2.88" version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03b07a082330a35e43f63177cc01689da34fbffa0105e1246cf0311472cac73a" checksum = "21f866863575d0e1d654fbeeabdc927292fdf862873dc3c96c6f753357e13374"
dependencies = [
"arrayvec",
"bitflags",
"cfg-if 1.0.0",
"ryu",
"static_assertions",
]
[[package]]
name = "libc"
version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7"
[[package]] [[package]]
name = "libloading" name = "libloading"
@@ -583,22 +662,28 @@ dependencies = [
[[package]] [[package]]
name = "libspa" name = "libspa"
version = "0.2.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb2d37fac3462c1ed6e836bcaa347db6d5bb3e62e410988f270121a24d9f9622" checksum = "011074b4d7771195ec969f3053c5745d8cd22f4415e8348d3c574944b108b895"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"cc",
"cookie-factory",
"errno",
"libc",
"libspa-sys", "libspa-sys",
"nom 6.1.2",
"system-deps 2.0.3",
] ]
[[package]] [[package]]
name = "libspa-sys" name = "libspa-sys"
version = "0.2.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "607f768296c29f09a51bab3f1a31414fe0abba295edafaa30853e87e794a773b" checksum = "19351566b3a5adc05e491dfaef725869a0d5e3f206662a29f6ba64381d674769"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -618,9 +703,9 @@ checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
[[package]] [[package]]
name = "memoffset" name = "memoffset"
version = "0.6.1" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87" checksum = "cc14fc54a812b4472b4113facc3e44d099fbc0ea2ce0551fa5c703f8edfbfd38"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@@ -648,6 +733,19 @@ dependencies = [
"version_check", "version_check",
] ]
[[package]]
name = "nom"
version = "6.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2"
dependencies = [
"bitvec",
"funty",
"lexical-core",
"memchr",
"version_check",
]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.7.2" version = "1.7.2"
@@ -657,7 +755,7 @@ checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
[[package]] [[package]]
name = "pango" name = "pango"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"glib", "glib",
@@ -669,12 +767,12 @@ dependencies = [
[[package]] [[package]]
name = "pango-sys" name = "pango-sys"
version = "0.13.0" version = "0.13.0"
source = "git+https://github.com/gtk-rs/gtk-rs#295e8c16d54f1b151592db41a7c3139fe762f9e7" source = "git+https://github.com/gtk-rs/gtk-rs#51fea9aa4aff93a0322e87ea27c090465f43f1f4"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
"libc", "libc",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -706,9 +804,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]] [[package]]
name = "pipewire" name = "pipewire"
version = "0.2.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0227f5f22225f4df19b6e6890b63b36d53918f267941da2332c419312a3efdd8" checksum = "e678fc8a43e7e4d5a211c4ce16517cf0a4bca520d96d9f4df15f26193ef120aa"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bitflags", "bitflags",
@@ -722,13 +820,13 @@ dependencies = [
[[package]] [[package]]
name = "pipewire-sys" name = "pipewire-sys"
version = "0.2.2" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9237480e2c4a5f316116d6e5c8a7de3cc187145a83836278a0c936c60f30d228" checksum = "3afc6fc22dcdb1e80c445725e7f95b610640a38f591783b38c3d58133d5e2135"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"libspa-sys", "libspa-sys",
"system-deps", "system-deps 3.1.0",
] ]
[[package]] [[package]]
@@ -789,10 +887,16 @@ dependencies = [
] ]
[[package]] [[package]]
name = "regex" name = "radium"
version = "1.4.4" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54fd1046a3107eb58f42de31d656fee6853e5d276c455fd943742dce89fc3dd3" checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
[[package]]
name = "regex"
version = "1.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
@@ -820,6 +924,12 @@ dependencies = [
"semver", "semver",
] ]
[[package]]
name = "ryu"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]] [[package]]
name = "semver" name = "semver"
version = "0.11.0" version = "0.11.0"
@@ -840,9 +950,9 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.124" version = "1.0.125"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd761ff957cb2a45fbb9ab3da6512de9de55872866160b23c25f1a841e99d29f" checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"
[[package]] [[package]]
name = "shlex" name = "shlex"
@@ -872,6 +982,12 @@ version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.8.0" version = "0.8.0"
@@ -898,9 +1014,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.63" version = "1.0.65"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fd9bc7ccc2688b3344c2f48b9b546648b25ce0b20fc717ee7fa7981a8ca9717" checksum = "f3a1d708c221c5a612956ef9f75b37e454e88d1f7b899fbd3a18d4252012d663"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -909,11 +1025,27 @@ dependencies = [
[[package]] [[package]]
name = "system-deps" name = "system-deps"
version = "3.0.0" version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14bd4dc3cd87e19c51f550d1b421c628074b3cf4c6daebc7ccbc8a03b237c751" checksum = "1b59b8aafd652f3c1469f16e6c223121e8a8dbe40c71475209c1401cff3a67ef"
dependencies = [
"heck",
"pkg-config",
"strum",
"strum_macros",
"thiserror",
"toml",
"version-compare",
]
[[package]]
name = "system-deps"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fbb68eac6404c4c357c4a9a0d6395b82c753815d4bc0c4e3114a97b035c6459"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cfg-expr",
"heck", "heck",
"itertools 0.10.0", "itertools 0.10.0",
"pkg-config", "pkg-config",
@@ -924,6 +1056,12 @@ dependencies = [
"version-compare", "version-compare",
] ]
[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]] [[package]]
name = "termcolor" name = "termcolor"
version = "1.1.2" version = "1.1.2"
@@ -1009,9 +1147,9 @@ checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b"
[[package]] [[package]]
name = "version_check" name = "version_check"
version = "0.9.2" version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
[[package]] [[package]]
name = "void" name = "void"
@@ -1058,3 +1196,9 @@ name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "wyz"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"

View File

@@ -15,8 +15,8 @@ categories = ["gui", "multimedia"]
[dependencies] [dependencies]
gtk = { git = "https://github.com/gtk-rs/gtk4-rs/", package = "gtk4" } gtk = { git = "https://github.com/gtk-rs/gtk4-rs/", package = "gtk4" }
pipewire = "0.2.2" pipewire = "0.3.0"
libspa = "0.2.2" libspa = "0.3.0"
log = "0.4.11" log = "0.4.11"
env_logger = "0.8.2" env_logger = "0.8.2"

View File

@@ -33,7 +33,9 @@ impl PipewireConnection {
.connect(None) .connect(None)
.map_err(|_| "Failed to connect to pipewire core")?, .map_err(|_| "Failed to connect to pipewire core")?,
); );
let registry = core.get_registry(); let registry = core
.get_registry()
.map_err(|_| "Failed to get pipewire registry")?;
let state = Rc::new(RefCell::new(state)); let state = Rc::new(RefCell::new(state));
@@ -61,7 +63,10 @@ impl PipewireConnection {
/// Receive all events from the pipewire server, sending them to the `pipewire_state` struct for processing. /// Receive all events from the pipewire server, sending them to the `pipewire_state` struct for processing.
pub fn roundtrip(&self) { pub fn roundtrip(&self) {
let done = Rc::new(Cell::new(false)); let done = Rc::new(Cell::new(false));
let pending = self.core.sync(0); let pending = self
.core
.sync(0)
.expect("Failed to trigger core sync event");
let done_clone = done.clone(); let done_clone = done.clone();
let loop_clone = self.mainloop.clone(); let loop_clone = self.mainloop.clone();

View File

@@ -1,7 +1,7 @@
use crate::{view, PipewireLink}; use crate::{view, PipewireLink};
use gtk::WidgetExt; use gtk::WidgetExt;
use libspa::dict::ReadableDict; use libspa::{dict::ReadableDict, ForeignDict};
use log::warn; use log::warn;
use pipewire::{port::Direction, registry::GlobalObject, types::ObjectType}; use pipewire::{port::Direction, registry::GlobalObject, types::ObjectType};
@@ -44,7 +44,7 @@ impl PipewireState {
} }
/// This function is called from the `PipewireConnection` struct responsible for updating this struct. /// This function is called from the `PipewireConnection` struct responsible for updating this struct.
pub fn global(&mut self, global: GlobalObject) { pub fn global(&mut self, global: &GlobalObject<ForeignDict>) {
match global.type_ { match global.type_ {
ObjectType::Node => { ObjectType::Node => {
self.add_node(global); self.add_node(global);
@@ -59,7 +59,7 @@ impl PipewireState {
} }
} }
fn add_node(&mut self, node: GlobalObject) { fn add_node(&mut self, node: &GlobalObject<ForeignDict>) {
// Update graph to contain the new node. // Update graph to contain the new node.
let node_widget = crate::view::Node::new( let node_widget = crate::view::Node::new(
&node &node
@@ -79,6 +79,7 @@ impl PipewireState {
// FIXME: This relies on the node being passed to us by the pipwire server before its port. // FIXME: This relies on the node being passed to us by the pipwire server before its port.
let media_type = node let media_type = node
.props .props
.as_ref()
.map(|props| { .map(|props| {
props.get("media.class").map(|class| { props.get("media.class").map(|class| {
if class.contains("Audio") { if class.contains("Audio") {
@@ -109,9 +110,12 @@ impl PipewireState {
); );
} }
fn add_port(&mut self, port: GlobalObject) { fn add_port(&mut self, port: &GlobalObject<ForeignDict>) {
// Update graph to contain the new port. // Update graph to contain the new port.
let props = port.props.expect("Port object is missing properties"); let props = port
.props
.as_ref()
.expect("Port object is missing properties");
let port_label = props.get("port.name").unwrap_or_default().to_string(); let port_label = props.get("port.name").unwrap_or_default().to_string();
let node_id: u32 = props let node_id: u32 = props
.get("node.id") .get("node.id")
@@ -148,12 +152,15 @@ impl PipewireState {
self.items.insert(port.id, Item::Port { node_id }); self.items.insert(port.id, Item::Port { node_id });
} }
fn add_link(&mut self, link: GlobalObject) { fn add_link(&mut self, link: &GlobalObject<ForeignDict>) {
// FIXME: Links should be colored depending on the data they carry (video, audio, midi) like ports are. // FIXME: Links should be colored depending on the data they carry (video, audio, midi) like ports are.
self.items.insert(link.id, Item::Link); self.items.insert(link.id, Item::Link);
// Update graph to contain the new link. // Update graph to contain the new link.
let props = link.props.expect("Link object is missing properties"); let props = link
.props
.as_ref()
.expect("Link object is missing properties");
let input_node: u32 = props let input_node: u32 = props
.get("link.input.node") .get("link.input.node")
.expect("Link has no link.input.node property") .expect("Link has no link.input.node property")