Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
See issue #672.
|
|
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.
|
|
These are now optional according to doc/APIchanges. Closes #670.
|
|
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.
|
|
See #668.
|
|
|
|
|
|
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.
|
|
Has been merged into avfilter.h. Closes #660.
|
|
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.
|
|
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
|
|
Closes #634
|
|
Closes #648
|
|
|
|
For songs with no station associated (NULL) “(deleted)” was shown
unconditionally. Hide it. Fixes commit
4dfca5b56b441faf4938b6c8e97585f68e468039.
|
|
We can show the song length in the feedback list now.
|
|
Iff song’s station is not the current station. This is only the case for
the song history right now.
Closes #638
|
|
Now we can show a tired icon in the history.
Closes #637.
|
|
Closes #636.
|
|
|
|
|
|
|
|
Fixes #618.
|
|
Eventcmd uses both, selStation and selSong. Fixes #617.
|
|
|
|
|
|
|
|
Use new send_packet/receive_frame API.
Bumps libav and ffmpeg version requirements. Revert this commit if you
need an older version.
|
|
|
|
|
|
|
|
Fixes #600.
|
|
Mac OS X 10.6 compatibility, fixes #572.
|
|
Closes #597.
|
|
See #577.
|
|
|
|
|
|
The event did not contain any song data (title, artist, …), because the
playlist was destroyed by the ui command. Now the actual station switch
is deferred by introducing nextStation and letting the main loop handle
it.
Fixes issue #584.
|
|
If player is running one SIGINT restarts current track request, two
SIGINT (or more) quit pianobar. Idle main loop (i.e. no player or
submenu) quits on SIGINT. Fixes issue #564.
|
|
Fixes #571
|
|
Passing NULL to printf and the result to curl may or may not work. YMMV.
Fixes #574.
|
|
|
|
|
|
^C now works as expected: It interrupts API requests, input prompts and
audio streaming. Timeouts have been removed.
|
|
Specifically: Use libao’s pkgconfig file, drop explicit header
dependencies (handled by dependency generation), use immediate
assignment operator :=
|
|
|
|
scanf’s %s matches non-whitespace characters only and thus ‘# foo = bar’
is parsed as ‘foo’, ‘bar’ and not ‘# foo’, ‘bar’ (as expected). Thus
comments did not work if they a) started with a valid key and b) had a
space between hash-sign and key.
Fixes issue #526.
|
|
On one of my machines the first song plays fine, but every track
thereafter fails playing with the following error message:
[volume @ 0x7f6b1c0a1200] [Eval @ 0x7f6b21ab6b60] Invalid chars '.0' at the end of expression '1.0'
[volume @ 0x7f6b1c0a1200] Error when evaluating the volume expression '1.0'
/!\ create_filter volume (Das Argument ist ungültig)
I’m not sure why this fixes the issue, but it might be a bug in ffmpeg.
|
|
A few changes were made to AVFrame and the buffersink. Should be
compatible with ffmpeg >= 2.1 and libav >= 10. Version 1.2/9 do not work
at this point.
|