Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-03-29 | piano: Do not return empty explanation. | Lars-Dominik Braun | 2 | -3/+8 | |
Instead return NULL and let the client handle it. | |||||
2024-03-29 | player: Translate error code to string in debug messages. | Lars-Dominik Braun | 1 | -2/+6 | |
2024-03-29 | player: Adapt to new ffmpeg channel layout API. | Lars-Dominik Braun | 1 | -6/+7 | |
Bumps required ffmpeg version to at least 5.1. | |||||
2024-03-29 | piano: Use unsigned int where possible. | Lars-Dominik Braun | 1 | -12/+12 | |
2024-03-29 | ui: Replace deprecated libcurl function. | Lars-Dominik Braun | 1 | -4/+4 | |
Bumps required curl version up to 7.32.0. | |||||
2024-03-24 | ui: Send upcoming songs to eventcmd. | Lars-Dominik Braun | 1 | -16/+60 | |
2023-03-27 | player: Also retry on ECONNRESET. | Lars-Dominik Braun | 1 | -1/+3 | |
It’s not entirely clear why or when ffmpeg returns this error. Fixes #735. | |||||
2022-04-01 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2022-04-01 | Release 2022.04.012022.04.01 | Lars-Dominik Braun | 1 | -1/+1 | |
2022-03-31 | ui_act: Improve station management query | Lars-Dominik Braun | 1 | -1/+6 | |
When there are no seeds (i.e. genre station), do not display initial “Delete”. | |||||
2022-03-31 | player: Add missing include for ffmpeg 5.0 | Lars-Dominik Braun | 1 | -0/+1 | |
Fixes #730. | |||||
2022-02-12 | ui: Declare more HTTP errors as “temporary” | Lars-Dominik Braun | 1 | -1/+22 | |
This should improve the situation with unreliable HTTP proxies. See #725. | |||||
2021-12-11 | Disable station mode selection for QuickMix | Lars-Dominik Braun | 1 | -3/+10 | |
It does not have any modes anyway. Fixes #723. | |||||
2021-07-23 | player: Replace deprecated ffmpeg function | Lars-Dominik Braun | 1 | -10/+11 | |
Use av_packet_alloc() instead of av_packet_init(). | |||||
2021-01-25 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2020-11-28 | Release 2020.11.282020.11.28 | Lars-Dominik Braun | 1 | -1/+1 | |
2020-11-28 | docs: fix simple typo, exhaused -> exhausted | Tim Gates | 1 | -1/+1 | |
There is a small typo in src/libpiano/response.c. Should read `exhausted` rather than `exhaused`. | |||||
2020-08-09 | Allow choosing time format | Lars-Dominik Braun | 5 | -8/+26 | |
Introduce new format string for playback time, supporting formats like -remaining/total, elapsed/total, … Fixes #699. | |||||
2020-08-09 | Add optional debugging code | Lars-Dominik Braun | 6 | -0/+124 | |
Compile *without* -DNDEBUG. The environment variable PIANOBAR_DEBUG accepts a bitfield which enables (1) network (2) audio (4) UI debug messages. | |||||
2020-08-08 | Allow changing station mode | Lars-Dominik Braun | 6 | -23/+183 | |
Fixes #700. | |||||
2020-08-08 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2020-04-05 | Release 2020.04.052020.04.05 | Lars-Dominik Braun | 1 | -1/+1 | |
2020-03-31 | piano: Request all stations | Lars-Dominik Braun | 1 | -0/+3 | |
By default the number of stations returned is limited to 95. Adding a flag returns all stations. Fixes #693. | |||||
2019-06-06 | Allow writing audio to a named pipe (fifo) instead of live device | Bruno Morais | 3 | -4/+32 | |
Fixes #684 | |||||
2019-06-06 | Add audio resampling | Bruno Morais | 3 | -3/+16 | |
Fixes #683 | |||||
2019-02-14 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2019-02-14 | Release 2019.02.142019.02.14 | Lars-Dominik Braun | 1 | -1/+1 | |
2019-02-14 | player: Use floating point arithmetic instead of AVRational | Lars-Dominik Braun | 1 | -9/+7 | |
av_mul_q calls av_reduce, whose runtime depends on its inputs. This is a latency-sensitive calculation though. | |||||
2019-02-14 | player: Fix buffering issue with mp3 | Lars-Dominik Braun | 1 | -1/+5 | |
Again, I used the wrong time_base. Since lastTimestamp and the decoder’s frame->pts used different time_base’s, the buffer health was wrong, resulting in an indefinite stall (“buffer is full” when it was not). See #678. | |||||
2019-02-14 | player: Fix time display for MP3 files | Lars-Dominik Braun | 1 | -3/+6 | |
Their time_base is not the same for stream and buffersink. See issue #678. | |||||
2019-02-14 | player: attach names to filters | Lars-Dominik Braun | 1 | -4/+4 | |
Mainly useful for debugging with AV_LOG_DEBUG. | |||||
2019-02-01 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2019-01-25 | Release 2019.01.252019.01.25 | Lars-Dominik Braun | 1 | -1/+1 | |
2019-01-19 | player: Avoid deadlock | Lars-Dominik Braun | 1 | -0/+1 | |
When the play thread receives an error (ret < 0), it waits for aoplayCond. But if the buffer is full (decode thread waiting for aoplayCond), the player deadlocks. See #672. | |||||
2018-10-15 | Expose audio buffer size setting | Lars-Dominik Braun | 3 | -2/+5 | |
See issue #672. | |||||
2018-10-15 | Increase max_retries default value | Lars-Dominik Braun | 2 | -2/+3 | |
Back to default value before ff4f15214100d209f39e4ed85f47e572c8fe9289. It is used by the player as well and since 403’s are considered an “error” it must be larger than the number of files per playlist (4). See issue #672. | |||||
2018-09-23 | Don’t use deprecated ffmpeg functions | Lars-Dominik Braun | 2 | -4/+32 | |
These are now optional according to doc/APIchanges. Closes #670. | |||||
2018-09-15 | Implement audio buffering | edward-p | 3 | -42/+108 | |
Prevent stuttering on low-power devices like Android phones by moving playback to its own thread and decoupling it from decoding through a reasonably sized buffer. Fixes #665. | |||||
2018-08-12 | Improve QuickMix selection error message | Lars-Dominik Braun | 1 | -3/+3 | |
See #668. | |||||
2018-06-22 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |
2018-06-22 | Release 2018.06.222018.06.22 | Lars-Dominik Braun | 1 | -1/+1 | |
HAPPY 10TH BIRTHDAY PIANOBAR! It’s first public release was created on 2008-06-05. So I’m slightly late to the party. Sorry about that. Also, I never thought a piece of software *I* wrote would last that long. | |||||
2018-04-16 | Remove deprecated header avfiltergraph.h | Lars-Dominik Braun | 2 | -2/+0 | |
Has been merged into avfilter.h. Closes #660. | |||||
2018-04-07 | Add network timeouts and retries | Lars-Dominik Braun | 5 | -7/+33 | |
All network operations can time out now. API requests are retried up to three times (default). Replaces setting max_player_errors with max_retries, which is used for player and API. Adds timeout setting. Partially reverts 436a1d4012553a2f33d0e3a5180b3b5ae0378bdd and fixes (at least) issue #657. Thanks to @exarkun for testing. | |||||
2018-03-15 | Properly protect player struct with mutex | Lars-Dominik Braun | 6 | -82/+149 | |
The volatile keyword neither guarantees atomic access nor memory visibility[1]. Although this is usually not a problem on x86, it is incorrect to rely on this. Use mutex locks to protect all shared player variables and enforce memory visibility. [1] https://wiki.sei.cmu.edu/confluence/display/c/CON02-C.+Do+not+use+volatile+as+a+synchronization+primitive | |||||
2017-10-07 | Fix logic for marking station (deleted) | Lars-Dominik Braun | 1 | -8/+7 | |
For songs with no station associated (NULL) “(deleted)” was shown unconditionally. Hide it. Fixes commit 4dfca5b56b441faf4938b6c8e97585f68e468039. | |||||
2017-10-07 | piano: Fetch extended attribs for station info | Lars-Dominik Braun | 2 | -0/+8 | |
We can show the song length in the feedback list now. | |||||
2017-10-02 | Show station in song lists | Lars-Dominik Braun | 4 | -16/+38 | |
Iff song’s station is not the current station. This is only the case for the song history right now. Closes #638 | |||||
2017-09-30 | Add tired rating to song | Lars-Dominik Braun | 6 | -8/+35 | |
Now we can show a tired icon in the history. Closes #637. | |||||
2017-09-30 | Add (optional) song duration to song list format string | Lars-Dominik Braun | 1 | -4/+11 | |
Closes #636. | |||||
2017-08-30 | Back to -dev | Lars-Dominik Braun | 1 | -1/+1 | |