-
Notifications
You must be signed in to change notification settings - Fork 627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Resampling Support #1180
base: dev
Are you sure you want to change the base?
Add Resampling Support #1180
Commits on Jun 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0cefd0e - Browse repository at this point
Copy the full SHA 0cefd0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 35b94bd - Browse repository at this point
Copy the full SHA 35b94bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dae33c - Browse repository at this point
Copy the full SHA 7dae33cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 71660a2 - Browse repository at this point
Copy the full SHA 71660a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b64f25 - Browse repository at this point
Copy the full SHA 3b64f25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 375f837 - Browse repository at this point
Copy the full SHA 375f837View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9861a58 - Browse repository at this point
Copy the full SHA 9861a58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3bcf549 - Browse repository at this point
Copy the full SHA 3bcf549View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1ea400 - Browse repository at this point
Copy the full SHA e1ea400View commit details -
Configuration menu - View commit details
-
Copy full SHA for efec96b - Browse repository at this point
Copy the full SHA efec96bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a8da82 - Browse repository at this point
Copy the full SHA 2a8da82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 586e9f1 - Browse repository at this point
Copy the full SHA 586e9f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5e0ea2 - Browse repository at this point
Copy the full SHA b5e0ea2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 09bd1bd - Browse repository at this point
Copy the full SHA 09bd1bdView commit details
Commits on Jun 23, 2023
-
Update notify_about_position logic
It would be so much easier to use elapsed but elapsed could potentially panic is rare cases. See: https://doc.rust-lang.org/std/time/struct.Instant.html#monotonicity Otherwise this is pretty straight forward. If anything fails getting expected_position_ms it will return 0 which will trigger a notify if either stream_position_ms or decoder_position_ms is > 1000. If all goes well it's simply a matter of calculating the max delta of expected_position_ms and stream_position_ms and expected_position_ms and decoder_position_ms. So if the decoder or the sample pipeline are off by more than 1 sec we notify.
Configuration menu - View commit details
-
Copy full SHA for 8d35b4b - Browse repository at this point
Copy the full SHA 8d35b4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e3ffe5 - Browse repository at this point
Copy the full SHA 0e3ffe5View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfb0366 - Browse repository at this point
Copy the full SHA bfb0366View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5da8ddf - Browse repository at this point
Copy the full SHA 5da8ddfView commit details -
Make sure there is only ever one allocation when converting
Collect is probably fine but for code that's this hot it's worth the couple extra lines to make certain there's only ever one allocation when it comes to the returned Vec.
Configuration menu - View commit details
-
Copy full SHA for 46b8f84 - Browse repository at this point
Copy the full SHA 46b8f84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 340bac5 - Browse repository at this point
Copy the full SHA 340bac5View commit details -
Add release-dist-optimized profile
release-dist-optimized inherits from `release`. Useful if you're distributing librespot at part of a project. The diffrences are: panic = "abort", Makes librespot abort instead of unwind and hang on a panic. Extremely useful when running librespot unattended as a system service for example to allow for auto-restarts. codegen-units = 1 and lto = true, Take slighly longer to compile but produce more optimized binaries.
Configuration menu - View commit details
-
Copy full SHA for ad47630 - Browse repository at this point
Copy the full SHA ad47630View commit details
Commits on Jun 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 74b52e8 - Browse repository at this point
Copy the full SHA 74b52e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bdfa72 - Browse repository at this point
Copy the full SHA 0bdfa72View commit details -
Simplify time calculations in SymphoniaDecoder
Time impl's from f64 (as secs) so there's no need to manually calculate it beyond converting ms to sec. If we grab the TimeBase in new we don't need to continually call decoder.codec_params().time_base everytime we want to convert ts to ms.
Configuration menu - View commit details
-
Copy full SHA for 5e02b66 - Browse repository at this point
Copy the full SHA 5e02b66View commit details -
We don't need it since we now tell if we've skipped packets by calculating a max delta.
Configuration menu - View commit details
-
Copy full SHA for f7c56df - Browse repository at this point
Copy the full SHA f7c56dfView commit details
Commits on Jun 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for ac2c05a - Browse repository at this point
Copy the full SHA ac2c05aView commit details -
Don't pad the alsa buffer anymore on stop.
It's no longer necessary with the SymphoniaDecoder, in fact it causes the problem it used to prevent. Namely pops when you pause.
Configuration menu - View commit details
-
Copy full SHA for 528a8a4 - Browse repository at this point
Copy the full SHA 528a8a4View commit details
Commits on Jun 26, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d3ae1cd - Browse repository at this point
Copy the full SHA d3ae1cdView commit details -
It would be so much easier to use elapsed but elapsed could potentially panic is rare cases. See: https://doc.rust-lang.org/std/time/struct.Instant.html#monotonicity
Configuration menu - View commit details
-
Copy full SHA for 8e6d452 - Browse repository at this point
Copy the full SHA 8e6d452View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98f1fe8 - Browse repository at this point
Copy the full SHA 98f1fe8View commit details -
Don't handle messages that are not intended for us in spirc.
This prevents 2 active instances of librespot from effectively arguing over who the current active instance actually is. Without it events recurse.
Configuration menu - View commit details
-
Copy full SHA for 2fa2bf8 - Browse repository at this point
Copy the full SHA 2fa2bf8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c29ec3f - Browse repository at this point
Copy the full SHA c29ec3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b081b1 - Browse repository at this point
Copy the full SHA 4b081b1View commit details
Commits on Jun 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d1e4b44 - Browse repository at this point
Copy the full SHA d1e4b44View commit details -
Our interpolation_coefficients are already normalized.
Configuration menu - View commit details
-
Copy full SHA for 841f923 - Browse repository at this point
Copy the full SHA 841f923View commit details -
Configuration menu - View commit details
-
Copy full SHA for 20414e4 - Browse repository at this point
Copy the full SHA 20414e4View commit details
Commits on Jun 28, 2023
-
Avoid unnecessary Vec -> Slice -> Vec
In the case of a resampler bypass
Configuration menu - View commit details
-
Copy full SHA for cea92a9 - Browse repository at this point
Copy the full SHA cea92a9View commit details
Commits on Jun 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1ab5bac - Browse repository at this point
Copy the full SHA 1ab5bacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 15e2b44 - Browse repository at this point
Copy the full SHA 15e2b44View commit details
Commits on Jun 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 00ee65b - Browse repository at this point
Copy the full SHA 00ee65bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b15b48b - Browse repository at this point
Copy the full SHA b15b48bView commit details -
Revert remaining spirc changes
It's best to deal with this after discovery is fixed.
Configuration menu - View commit details
-
Copy full SHA for 242e68a - Browse repository at this point
Copy the full SHA 242e68aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25425da - Browse repository at this point
Copy the full SHA 25425daView commit details -
Configuration menu - View commit details
-
Copy full SHA for c4dc734 - Browse repository at this point
Copy the full SHA c4dc734View commit details
Commits on Jul 2, 2023
-
sys.uptime() returns sec not mins so it should be 60 not 1.
Configuration menu - View commit details
-
Copy full SHA for 3dafb59 - Browse repository at this point
Copy the full SHA 3dafb59View commit details -
Make sure that decoder picks up where it left of going from paused to…
… play Since we are including the pipeline latency in the position we need to seek to the correct position when going from paused to play. We can also drop the ALSA and PulseAudio buffers instead of draining them since their latency's are factored in.
Configuration menu - View commit details
-
Copy full SHA for 74e3f93 - Browse repository at this point
Copy the full SHA 74e3f93View commit details -
Add anti-alias filtering just in case
Cap the output bandwidth to 92%. Even at 48kHz it still translates to 100% source bandwidth. This just provides a little bit of anti-alias filtering. There is more then likely nothing there to filter, but it doesn't hurt or cost us anything to make sure.
Configuration menu - View commit details
-
Copy full SHA for 87bbd53 - Browse repository at this point
Copy the full SHA 87bbd53View commit details
Commits on Jul 3, 2023
-
Duh, just use resample_factor_reciprocal
The resample_factor_reciprocal also happens to be our anti-alias cutoff. In this case it represents the minimum output bandwidth needed to fully represent the input.
Configuration menu - View commit details
-
Copy full SHA for cb8f6c9 - Browse repository at this point
Copy the full SHA cb8f6c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33e2ce6 - Browse repository at this point
Copy the full SHA 33e2ce6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac68d24 - Browse repository at this point
Copy the full SHA ac68d24View commit details
Commits on Jul 4, 2023
-
All Windows calculated with pyfda (Python Filter Design Analysis Tool) https://github.com/chipmuenk/pyfda Window = Kaiser beta = 8.6 (Similar to a Blackman Window) fc = 22.5kHz -86dB by 23kHz This also gets rid of Linear Interpolation which leaves only Low and High both being Windowed Sinc.
Configuration menu - View commit details
-
Copy full SHA for e31293c - Browse repository at this point
Copy the full SHA e31293cView commit details
Commits on Jul 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 3928d07 - Browse repository at this point
Copy the full SHA 3928d07View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bc1685 - Browse repository at this point
Copy the full SHA 1bc1685View commit details -
Configuration menu - View commit details
-
Copy full SHA for a331729 - Browse repository at this point
Copy the full SHA a331729View commit details
Commits on Sep 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8aaab0a - Browse repository at this point
Copy the full SHA 8aaab0aView commit details
Commits on Sep 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b867ab2 - Browse repository at this point
Copy the full SHA b867ab2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96f5a4d - Browse repository at this point
Copy the full SHA 96f5a4dView commit details