summaryrefslogtreecommitdiff
path: root/src/player.c
AgeCommit message (Collapse)AuthorFilesLines
2012-11-17player: Fix insane typecastLars-Dominik Braun1-6/+13
2012-10-28player: Recover from AAC decoding errorLars-Dominik Braun1-9/+23
Decoding errors are usually not fatal, so we can recover by skipping the broken frame. This also fixes invalid memory reads caused by sampleSizeCurr >= sampleSizeN. See issue #304.
2012-06-09piano: Select quality instead of audio formatLars-Dominik Braun1-4/+0
Pandora limited the audio formats we can request explicitly. Don’t rely on this and use the formats available with the given partner credentials. Closes #271.
2012-05-26Move mutex initalization to main threadLars-Dominik Braun1-3/+1
Closes #250.
2012-05-26Revert "Remove pause mutex/add pthread cleanup function"Lars-Dominik Braun1-74/+61
This reverts commit 7df9371491e96a99c1e463f7787aede352ac5a37.
2012-05-26Revert "Fix player thread teardown/signals on OS X"Lars-Dominik Braun1-10/+0
This reverts commit f6dffd1822404522b8354ac453a911a0d98bfc61.
2012-05-17Fix player thread teardown/signals on OS XLars-Dominik Braun1-0/+10
1) Realtime signals don’t exist in OS X 2) libao apparently locks a mutex in ao_play, which is locked again in ao_close and causes a deadlock Closes #256, although I’m considering the option of partially reverting 7df9371491e96a99c1e463f7787aede352ac5a37, as this introduces more nasty behavior than it solves.
2012-05-14Remove pause mutex/add pthread cleanup functionLars-Dominik Braun1-61/+74
No more mutex locking/checking for quit condition. Should (slightly) increase responsiveness of the player thread. Closes #250.
2012-05-04Lofi AAC supportLars-Dominik Braun1-0/+2
32kbit/s. Closes #233.
2012-02-22Minor player cleanupLars-Dominik Braun1-25/+30
Move player buffer to heap, a few const’s here and there, increase header buffer size, fix comments.
2011-11-09waitress: support chunked encodingLars-Dominik Braun1-1/+1
as requested by rfc 2616
2011-05-18Configureable format stringsLars-Dominik Braun1-8/+12
Closes #88
2010-12-27Change my email addressLars-Dominik Braun1-1/+1
Again. And hopefully the last time.
2010-12-27Software volume controlLars-Dominik Braun1-2/+1
2010-12-19Fix wrong assumption about endianess of audio framesLars-Dominik Braun1-2/+2
Fixes issue #66 (audio playback on big-endian machines).
2010-08-09Support for big endian machinesLars-Dominik Braun1-4/+4
A few byteswaps replaced by conditional byteswaps. Thanks to Andrew Peng for providing access to a powerpc machine.
2010-04-07libao 1.0.0 compatibilityLars-Dominik Braun1-0/+2
Fixes bug #16. ao_sample_format structure has been updated, matrix must be NULL.
2010-03-16Use SHRT_MAX for short intLars-Dominik Braun1-4/+4
2010-03-16Replace player return value magicLars-Dominik Braun1-5/+3
2010-03-16waitress: Replaced callback magic numbersLars-Dominik Braun1-13/+14
2010-03-12Removed PACKAGE from ui stringsLars-Dominik Braun1-5/+5
2010-01-30Fix libao error detectionLars-Dominik Braun1-1/+4
Under certain circumstances (fast station switching e.g.) a new playlist was not fetched, because the player thread returned 0x1 (== libao error) and the main thread NULLed curStation.
2010-01-21It's 2010 now.Lars-Dominik Braun1-1/+1
2009-12-19Fix printf format for size_tLars-Dominik Braun1-1/+1
2009-11-22Don't use int->float->int castsLars-Dominik Braun1-15/+15
2009-11-11Print message and stop playback when hitting libao errorLars-Dominik Braun1-5/+17
Thanks to jpfuentes2@github
2009-08-09Fix commit a195a94be7aa14d839c77275814a52d2ee6b8b6fLars-Dominik Braun1-0/+2
mp3 and mp3-hifi player functions are the same
2009-08-04Use "static" keyword for functionsLars-Dominik Braun1-7/+7
2009-07-14Forgot to remove #define in last commitLars-Dominik Braun1-3/+0
2009-07-11Fix hardcoded mp3 bitrateLars-Dominik Braun1-7/+6
Get bitrate from header of first decoded frame now.
2009-06-28Finally clean up curl garbageLars-Dominik Braun1-6/+5
I missed some #includes. Documentation had to be updated, too.
2009-05-22waitress: Add _RET_READ_ERR, retry on read error in playerLars-Dominik Braun1-2/+2
Enhances commit 279f3ba93b729684e54300352c59523bd05e54bc
2009-05-16Retry on temporary http failure (timeout e.g.)Lars-Dominik Braun1-1/+2
2009-05-03Fix range header, accept 206 status codeLars-Dominik Braun1-1/+1
2009-05-03Switch to libwaitressLars-Dominik Braun1-35/+23
2009-03-13mp3 playback prebufferingLars-Dominik Braun1-2/+11
2009-03-08Fix "pause" -- againLars-Dominik Braun1-50/+14
Don't parse Content-Length header, curl does this too; CURLE_RECV_ERROR is recoverable too
2009-03-04Ui improvementsLars-Dominik Braun1-5/+7
printf wrapper introduced, hopefully cleaned up ui
2009-03-01Even more documentationLars-Dominik Braun1-0/+11
...and small cleanups.
2009-02-07Fix mp3 time displayLars-Dominik Braun1-0/+6
2009-02-06Fix FPELars-Dominik Braun1-5/+8
Introduced in (last) commit a2aee035072a5d346c187a890539f72c6d5167a0. Don't divide by zero :)
2009-02-05Time display for mp3 playbackLars-Dominik Braun1-3/+61
Time is now counted in milliseconds, not aac frames. Calculations seem to be inaccurate sometimes (about +-2 seconds).
2009-02-04Buffer abstractionLars-Dominik Braun1-22/+25
Replace copy&waste by inline functions
2009-02-01mp3 playback supportLars-Dominik Braun1-33/+191
Now libfaad and/or libmad are used for playback. There's currently no remaining time displayed for mp3 playback.
2009-01-31Switch build system to cmakeLars-Dominik Braun1-1/+1
lib{piano,wardrobe} are now static libraries and not installed any more.
2009-01-31Remove orphan mutex_unlockLars-Dominik Braun1-2/+0
Forgot that in last commit...
2009-01-31Use pthread mutex to block player in pause stateLars-Dominik Braun1-9/+8
2009-01-20It's 2009 nowLars-Dominik Braun1-1/+2
Update copyright notices, add my email address, but don't change libwardrobe (I'm not maintaining it anymore)
2008-12-13Use curl's built-in range supportLars-Dominik Braun1-9/+4
2008-10-25Use own byteswap implementationLars-Dominik Braun1-3/+6
pianobar can be compiled on NetBSD (and maybe others) now.