Commits
- Commit:
5d86bc14239778053daa5c38c13f2a5c7d63a24c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
simplify main_send_player: data is always NULL
- Commit:
a975dca965d92cd6af18a82629b597668e1d69d8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't send the song' path to the player process
we're not relying anymore on the file extension, so this information is
useless for the player.
- Commit:
a7c21102d5a00f25af27b4f7ba894065aa28bb5f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
we have no bugs :)
- Commit:
239029b61f575847650021a5b4904ed426a2e9e4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't call player_sendeof on IMSG_STOP
the refactoring introduced this error where we call report an EOF upon
IMSG_STOP, making the player infinitely loop.
- Commit:
bf19b03e6400fa3a7573b0ba4fd057767f0adc22
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add a simple filetype detector instead of relying on file extension
just a bit of "magic" :)
Flac are easy, they always start with "fLaC". mp3 are weird because
they either start with "ID3" (but this theoretically only ensures that's
a tagged file, not an mp3) or 0xFF 0xFB.
Ogg Opus should have a magic sequence "OpusHead" somewhere near the
start of the file but also have the ogg' "OggS" magic bytes. I hope
it's enough to distinguish between Ogg Opus and Vorbis.
Another option would be to refactor play_oggvorbis/opus to not close the
file on failure and try in cascade the play_* functions, but it's more
complex and this solution seems to be enough.
- Commit:
184600a89b139d44c106a366c351bee471185137
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't leak file descriptor on player_playnext failure
- Commit:
06412529c452e3c4c9df9a4fcc42c2ccecd8364b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
refactor player_playnext: return status code
let the caller decide to call senderr or sendeof.
- Commit:
f002c42a6d7c2ffeb20816a0638c7095d99e0468
- From:
- Omar Polo <op@omarpolo.com>
- Date:
be slightly more informative on failures
- Commit:
f474712b0a5c634ba652dd37eb674e996ed39a8d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use the standard Ds width for the options listing
- Commit:
1fe59675359f3dad4621af22aa441b72a9277645
- From:
- Omar Polo <op@omarpolo.com>
- Date:
we're on -current now
- Commit:
4c4a91b4329698fb30f125e380c7817bc346f63f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
amused 0.5
* unbreak opus and ogg vorbis
* handle flacs with bps != 16 and/or channels != 2
* speed up `load' a lot (especially if over NFS)
- Commit:
d51201063dfd08d55382bc1848cee7f4662f504b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add back missing memzero
- Commit:
1dd3b054dd3d8778debf24bb32cc61ff06e3ee42
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use a more readable strncmp to look for prefixes
also while here stick an `else' before the second clausole. We're
supposed to trim out only '> ' and ' ', but the missing else would
also trim out ' ' after a '> '!
- Commit:
c00c1428ccaedc2d63d9d489c00d796d5718f615
- From:
- Omar Polo <op@omarpolo.com>
- Date:
get rid of realpath during load
it has a non-ignorable cost over NFS (sdk@ reported ~30 seconds to load
64k songs, and up to 5 minutes over wifi!) and don't provide us any real
gain: files can still vanish after being imported or may appear later.
The only advantage of realpath was that it would clean up the path from
segments like "/./" and resolve the ".." components, but that's a minor
issue anyway.
prodded by, discussed with and tested by sdk@, thanks a lot!
- Commit:
d9cc6713e033478672564bf0bf4b273a74576dc3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
typo