⬆️ ureq v2→v3, add continuous stream detection

- Updateurequest dependency from v2 to latest major (v3.14)
- Add ureq as optional dependency in pmoaudio-ext
- Introduce is_continuous flag to UriSource and PlayerState for proper StreamType handling (Finite vs Continuous)
- Implement detect_continuous_stream() with URL pattern matching and HTTP HEAD header inspection (ICY, chunked encoding)
- Update send_track_boundary() to accept StreamType parameter
This commit is contained in:
2026-04-04 18:00:20 +02:00
parent 8924552696
commit 340c69cb2b
5 changed files with 144 additions and 17 deletions

30
Cargo.lock generated
View File

@@ -3897,6 +3897,7 @@ dependencies = [
"tokio",
"tokio-util",
"tracing",
"ureq 2.12.1",
]
[[package]]
@@ -4016,7 +4017,7 @@ dependencies = [
"tracing",
"tracing-log 0.1.4",
"tracing-subscriber",
"ureq",
"ureq 3.1.4",
"url",
"urlencoding",
"utoipa",
@@ -6513,6 +6514,22 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d"
dependencies = [
"base64 0.22.1",
"flate2",
"log",
"once_cell",
"rustls",
"rustls-pki-types",
"url",
"webpki-roots 0.26.11",
]
[[package]]
name = "ureq"
version = "3.1.4"
@@ -6527,7 +6544,7 @@ dependencies = [
"rustls-pki-types",
"ureq-proto",
"utf-8",
"webpki-roots",
"webpki-roots 1.0.4",
]
[[package]]
@@ -6820,6 +6837,15 @@ dependencies = [
"libwebp-sys",
]
[[package]]
name = "webpki-roots"
version = "0.26.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
dependencies = [
"webpki-roots 1.0.4",
]
[[package]]
name = "webpki-roots"
version = "1.0.4"