Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
I removed most of the *BSD-related stuff, because I can’t test these. If
this breaks your build, send me a patch please.
|
|
Currently exposed settings: Username, password and explicit content
filter. New key for settings is ‘!’, changeable with “act_settings”.
Fixes issues #524 and #506.
|
|
|
|
The proxy config setting did not set ffmpeg’s http proxy previously. See
issue #531.
|
|
|
|
Drops libwaitress. Adds the new dependency libcurl and drops gnutls.
I wouldn’t say writing my own HTTP library was a mistake – it was not
and the experience gained was worth it. Instead I have to acknowledge
that libcurl is just better than my own implementation. Sure, it does a
lot more than HTTP – one could call that bloat. Yet if you just want to
get the job done™ reusing code is the way to go.
See #512 and #513.
|
|
The initial volume setup was ignored as well. Introduced by previous
commit 310900e4be52d11388792d776d9f6b89380bbecd. See
https://github.com/PromyLOPh/pianobar/commit/310900e4be52d11388792d776d9f6b89380bbecd
|
|
Fixes issue #508.
|
|
This should not be an assertion, it is expected to happen. Test with
`echo -e "s0\nu" > ctl`. Fixes #509.
|
|
libav 11 reports an invalid channel layout for mp3 files. This is a
work-around. The problem is fixed with libav 11.1.
|
|
|
|
|
|
|
|
|
|
Skipping/quitting while pausing does not play the current packet any
more. Avoid unneccessary calls to av_read_(play|pause).
|
|
|
|
If retry is triggered once and openStream fails after that retry is
never set to false, resulting in an infinite loop that cannot be
interrupted by the user.
|
|
Fixes #442.
|
|
|
|
Pandora added two new integer values to the feedback object, which
breaks the assumption that all values are arrays. Since we know the
names of the interesting keys (thumbsUp and thumbsDown) just use them
instead of iterating over all available keys.
Fixes #460.
|
|
Fixes segfault reported in #461.
|
|
And simplify code that nobody touched in a long long time… Fixes input
issues reported in #458.
|