mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 08:15:50 +03:00
[PR #979] [MERGED] Backport sdroege's gstreamer backend cleanup to dev. #1171
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#1171
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/librespot-org/librespot/pull/979
Author: @allquixotic
Created: 3/15/2022
Status: ✅ Merged
Merged: 5/21/2022
Merged by: @roderickvd
Base:
dev← Head:backport-gst-cleanup📝 Commits (5)
6e649f9Backport sdroege's gstreamer backend cleanup to dev.74528b2Fix crash due to appsrc too small with S16.da02f70cargo fmt on gstreamer backendb92465eUpdate CHANGELOG.mdbb384dbMerge branch 'dev' into backport-gst-cleanup📊 Changes
4 files changed (+447 additions, -150 deletions)
View changed files
📝
CHANGELOG.md(+2 -1)📝
Cargo.lock(+291 -51)📝
playback/Cargo.toml(+6 -4)📝
playback/src/audio_backend/gstreamer.rs(+148 -94)📄 Description
Should help with #974. Testing indicates this gst cleanup is more stable than before, but new_api branch has its own bugs due to changes elsewhere in librespot. It was mentioned in the issue comments that someone could backport this to dev branch.
As one of the original authors of the gstreamer backend, I felt shameful enough about my initial code that I wanted to send this in to help out.
I haven't tested with old rustc, but apparently the gstreamer crate (and friends) version 0.18 and later moved to Rust 2021, while 0.17 is still targeting Rust 2018... so hopefully the rust version compatibility should be the same as current librespot dev branch. I had to update it slightly to support new functions that were absent in gstreamer crate 0.16.x, but fortunately the new functions are present in 0.17.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.