Commit Graph

11279 Commits

Author SHA1 Message Date
Max Kellermann a606ef0700 decoder/ffmpeg: use integer seek times 2014-08-26 11:15:53 +02:00
Max Kellermann a234de1ee3 decoder/gme: use integer seek times 2014-08-26 11:15:40 +02:00
Max Kellermann d266898617 decoder/modplug: use integer seek times 2014-08-26 11:11:36 +02:00
Max Kellermann 69b5929c5a decoder/mad: use integer seek times
Avoid roundtrips to floating point.
2014-08-26 11:07:47 +02:00
Max Kellermann 316c72a4ae DecoderAPI: add decoder_seek_where_ms()
Move to fixed-point integers instead of floating point.
2014-08-26 11:02:02 +02:00
Max Kellermann 9da88eec3e decoder/mad: move duplicate code to RecoverFrameError() 2014-08-26 10:52:17 +02:00
Max Kellermann f10d9996d2 decoder/mad: simplify if/else chain 2014-08-26 10:52:17 +02:00
Max Kellermann 58ec9d3a73 decoder/mad: make variables more local 2014-08-26 10:34:04 +02:00
Max Kellermann 4a503ba1ad decoder/mad: simplify "return", eliminate check
This check was redundant, because we could only exit the loop when
ret==DECODE_OK.
2014-08-26 10:30:22 +02:00
Max Kellermann 2d096a569a output/alsa: fix coding style 2014-08-26 10:25:59 +02:00
Max Kellermann e44ea5038e output/alsa: merge Init() into Configure() 2014-08-26 10:22:35 +02:00
Max Kellermann b111aa0111 ZeroconfAvahi: fix coding style 2014-08-26 10:04:27 +02:00
Max Kellermann 773d24ebf7 ZeroconfAvahi: remove "goto" 2014-08-26 10:03:35 +02:00
Max Kellermann bd371af0b3 ZeroconfAvahi: remove unused flag "avahi_running"
This flag is never read.
2014-08-26 10:02:06 +02:00
Max Kellermann 9d79c72c17 output/alsa: add API documentation 2014-08-26 09:37:30 +02:00
Max Kellermann a86aaef4d0 output/alsa: support native DSD playback
Translate SampleFormat::DSD to SND_PCM_FORMAT_DSD_U8, which was added
to alsa-lib 1.0.27.1.
2014-08-26 07:11:53 +02:00
Max Kellermann e463244db3 output/alsa: move alsa_configure() into the class 2014-08-26 07:10:16 +02:00
Max Kellermann 9e10b75f55 PcmExport: remove obsolete API documentation 2014-08-26 07:10:16 +02:00
Max Kellermann 294091ce60 output/alsa: remove obsolete macros 2014-08-26 05:53:15 +02:00
Max Kellermann da6dd2dc92 decoder/mad: don't reset the xing struct
Not necessary.
2014-08-25 10:32:40 +02:00
Max Kellermann 40b9de66c7 decoder/mad: remove unused flag "found_xing" 2014-08-25 10:31:55 +02:00
Max Kellermann aac985951a decoder/mad: convert enums/macros to constexpr 2014-08-24 21:06:50 +02:00
Max Kellermann 662cc5fe20 decoder/mad: make variables more local 2014-08-24 20:57:47 +02:00
Max Kellermann 42af040fbd StateFile: configurable interval 2014-08-24 13:24:20 +02:00
Max Kellermann d383d617c2 StateFile: make "path" const 2014-08-24 13:24:20 +02:00
Max Kellermann c84508ae9f Merge branch 'v0.18.x' 2014-08-24 13:20:35 +02:00
Max Kellermann f06fe1ea98 event/TimeoutMonitor: really reset "active" flag before invoking OnTimeout()
The previous commit was broken.  D'oh!
2014-08-24 13:19:50 +02:00
Max Kellermann 77f2cd6513 Merge branch 'v0.18.x' 2014-08-24 13:15:17 +02:00
Max Kellermann d16fb79708 event/TimeoutMonitor: reset "active" flag before invoking OnTimeout()
The IsActive() method returned true even if the timer was not active,
after it completed once.  This broke the state file timer, and the
state file was not saved periodically.
2014-08-24 13:13:12 +02:00
Max Kellermann 8808aad529 decoder/dsdiff: implement seeking 2014-08-23 15:27:21 +02:00
Max Kellermann 6d7eaba845 decoder/dsdiff: refactor the main decoder loop
Check for STOP before decoding the first chunk.  This reduces the
command latency.
2014-08-23 15:25:40 +02:00
Max Kellermann 4259b17b91 decoder/dsdiff: add local variable "remaining_bytes"
Remember the chunk's total size.
2014-08-23 15:21:08 +02:00
Max Kellermann 828ea700e8 decoder/dsdiff: don't skip remaining bytes
Nobody cares.
2014-08-23 15:19:34 +02:00
Max Kellermann 7f22685fa3 decoder/dsdiff: eliminate local variable "buffer_samples" 2014-08-23 15:17:31 +02:00
Max Kellermann 40db9dff3b decoder/dsdiff: support only one "DSD" chunk
Eliminate the loop from dsdiff_stream_decode().  It makes the code
complex, real-world files with multiple DSD chunks are outside of the
specification, and the "chunk_size" variable would be bogus anyway.
2014-08-23 15:14:16 +02:00
Max Kellermann fa82264604 pcm/PcmDsd: remove "lsbfirst" support
Unused.  Bit reversing is done in the decoder.
2014-08-23 14:46:34 +02:00
Max Kellermann ae467aa42e pcm/dsd2pcm: add license headers
Obtained from the Mercurial repository at
https://code.google.com/p/dsd2pcm/
2014-08-23 14:42:23 +02:00
Thomas Klausner c38f29ce56 system/ByteOrder: <endian.h> is a non-standard header that only Linux provides. 2014-08-23 14:27:44 +02:00
Max Kellermann 67cc09416f decoder/dsf: implement seeking 2014-08-23 14:00:38 +02:00
Max Kellermann f2a75fbfc7 decoder/dsf: refactor the main decoder loop
Check for STOP before decoding the first chunk.  This reduces the
command latency.
2014-08-23 13:57:57 +02:00
Max Kellermann b1fb09e183 decoder/dsf: make the buffer more local
This allows the compiler to discard buffer contents between two
iterations.
2014-08-23 13:55:52 +02:00
Max Kellermann cd0082c630 decoder/dsf: eliminate pointless return statement 2014-08-23 13:54:07 +02:00
Max Kellermann f78527d1e3 decoder/dsf: use the block count internally 2014-08-23 13:51:08 +02:00
Max Kellermann 1f642238a7 decoder/dsf: don't skip remaining bytes
Nobody cares.
2014-08-23 13:50:36 +02:00
Max Kellermann 6fe06cad98 decoder/dsf: count the blocks, not the remaining bytes
Prepare refactoring the whole plugin to use blocks instead of bytes.
A block is the smallest addressable unit, and it will simplify the
seeking code.
2014-08-23 13:44:53 +02:00
Max Kellermann 2335fdbb5a decoder/dsf: allow channel setups other than stereo
This finishes the multi-channel support.  Development of the feature
was started with commit 02cc77cd8
2014-08-23 13:40:21 +02:00
Max Kellermann 1b6f7c3eb7 decoder/dsf: eliminate another hard-coded stereo mode assumption
When calculating the upper bound using the "sample count" format
header, don't assume it's stereo.
2014-08-23 13:39:00 +02:00
Max Kellermann 67f0d26d17 decoder/dsf: fix big-endian bugs 2014-08-23 13:35:29 +02:00
Max Kellermann 8574bcd494 decoder/dsf: compare with InputStream::GetRest() instead of ..GetSize() 2014-08-23 13:26:17 +02:00
Max Kellermann 02cc77cd82 decoder/dsf: fix multi-channel files
The plugin was horribly bugged for files that were not stereo.
2014-08-22 07:30:32 +02:00