diff options
author | Max Kellermann <max@duempel.org> | 2014-09-22 08:30:25 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-09-22 08:30:25 +0200 |
commit | 505e6bec9e8d024bc84ecae3b693f1d7d4c7c699 (patch) | |
tree | 53a536bd1e200ba399b00849b7f60fe01ac72b7e | |
parent | ee027f237b1fb53972d574d3c6efa16c49d8692d (diff) | |
download | mpd-505e6bec9e8d024bc84ecae3b693f1d7d4c7c699.tar.gz mpd-505e6bec9e8d024bc84ecae3b693f1d7d4c7c699.tar.xz mpd-505e6bec9e8d024bc84ecae3b693f1d7d4c7c699.zip |
decoder/faad: use DecoderBuffer references
Diffstat (limited to '')
-rw-r--r-- | src/decoder/plugins/FaadDecoderPlugin.cxx | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/src/decoder/plugins/FaadDecoderPlugin.cxx b/src/decoder/plugins/FaadDecoderPlugin.cxx index 7ae36ff3e..a1355f829 100644 --- a/src/decoder/plugins/FaadDecoderPlugin.cxx +++ b/src/decoder/plugins/FaadDecoderPlugin.cxx @@ -63,10 +63,10 @@ adts_check_frame(const unsigned char *data) * found or if not enough data is available. */ static size_t -adts_find_frame(DecoderBuffer *buffer) +adts_find_frame(DecoderBuffer &buffer) { while (true) { - auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(buffer, 8)); + auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(&buffer, 8)); if (data.IsNull()) /* failed */ return 0; @@ -76,13 +76,13 @@ adts_find_frame(DecoderBuffer *buffer) memchr(data.data, 0xff, data.size); if (p == nullptr) { /* no marker - discard the buffer */ - decoder_buffer_clear(buffer); + decoder_buffer_clear(&buffer); continue; } if (p > data.data) { /* discard data before 0xff */ - decoder_buffer_consume(buffer, p - data.data); + decoder_buffer_consume(&buffer, p - data.data); continue; } @@ -91,14 +91,14 @@ adts_find_frame(DecoderBuffer *buffer) if (frame_length == 0) { /* it's just some random 0xff byte; discard it and continue searching */ - decoder_buffer_consume(buffer, 1); + decoder_buffer_consume(&buffer, 1); continue; } - if (decoder_buffer_need(buffer, frame_length).IsNull()) { + if (decoder_buffer_need(&buffer, frame_length).IsNull()) { /* not enough data; discard this frame to prevent a possible buffer overflow */ - decoder_buffer_clear(buffer); + decoder_buffer_clear(&buffer); continue; } @@ -108,9 +108,9 @@ adts_find_frame(DecoderBuffer *buffer) } static SignedSongTime -adts_song_duration(DecoderBuffer *buffer) +adts_song_duration(DecoderBuffer &buffer) { - const InputStream &is = decoder_buffer_get_stream(buffer); + const InputStream &is = decoder_buffer_get_stream(&buffer); const bool estimate = !is.CheapSeeking(); if (estimate && !is.KnownSize()) return SignedSongTime::Negative(); @@ -125,7 +125,7 @@ adts_song_duration(DecoderBuffer *buffer) break; if (frames == 0) { - auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(buffer)); + auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(&buffer)); assert(!data.IsEmpty()); assert(frame_length <= data.size); @@ -134,7 +134,7 @@ adts_song_duration(DecoderBuffer *buffer) break; } - decoder_buffer_consume(buffer, frame_length); + decoder_buffer_consume(&buffer, frame_length); if (estimate && frames == 128) { /* if this is a remote file, don't slurp the @@ -144,7 +144,7 @@ adts_song_duration(DecoderBuffer *buffer) have until now */ const auto offset = is.GetOffset() - - decoder_buffer_available(buffer); + - decoder_buffer_available(&buffer); if (offset <= 0) return SignedSongTime::Negative(); @@ -162,9 +162,9 @@ adts_song_duration(DecoderBuffer *buffer) } static SignedSongTime -faad_song_duration(DecoderBuffer *buffer, InputStream &is) +faad_song_duration(DecoderBuffer &buffer, InputStream &is) { - auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(buffer, 5)); + auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(&buffer, 5)); if (data.IsNull()) return SignedSongTime::Negative(); @@ -177,10 +177,10 @@ faad_song_duration(DecoderBuffer *buffer, InputStream &is) tagsize += 10; - if (!decoder_buffer_skip(buffer, tagsize)) + if (!decoder_buffer_skip(&buffer, tagsize)) return SignedSongTime::Negative(); - data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(buffer, 5)); + data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_need(&buffer, 5)); if (data.IsNull()) return SignedSongTime::Negative(); } @@ -195,7 +195,7 @@ faad_song_duration(DecoderBuffer *buffer, InputStream &is) is.LockSeek(tagsize, IgnoreError()); - decoder_buffer_clear(buffer); + decoder_buffer_clear(&buffer); return song_length; } else if (data.size >= 5 && memcmp(data.data, "ADIF", 4) == 0) { @@ -245,10 +245,10 @@ faad_decoder_new() * inconsistencies in libfaad. */ static bool -faad_decoder_init(NeAACDecHandle decoder, DecoderBuffer *buffer, +faad_decoder_init(NeAACDecHandle decoder, DecoderBuffer &buffer, AudioFormat &audio_format, Error &error) { - auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(buffer)); + auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(&buffer)); if (data.IsEmpty()) { error.Set(faad_decoder_domain, "Empty file"); return false; @@ -274,7 +274,7 @@ faad_decoder_init(NeAACDecHandle decoder, DecoderBuffer *buffer, return false; } - decoder_buffer_consume(buffer, nbytes); + decoder_buffer_consume(&buffer, nbytes); return audio_format_init_checked(audio_format, sample_rate, SampleFormat::S16, channels, error); @@ -285,10 +285,10 @@ faad_decoder_init(NeAACDecHandle decoder, DecoderBuffer *buffer, * inconsistencies in libfaad. */ static const void * -faad_decoder_decode(NeAACDecHandle decoder, DecoderBuffer *buffer, +faad_decoder_decode(NeAACDecHandle decoder, DecoderBuffer &buffer, NeAACDecFrameInfo *frame_info) { - auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(buffer)); + auto data = ConstBuffer<uint8_t>::FromVoid(decoder_buffer_read(&buffer)); if (data.IsEmpty()) return nullptr; @@ -309,7 +309,7 @@ faad_get_file_time(InputStream &is) { DecoderBuffer buffer(nullptr, is, FAAD_MIN_STREAMSIZE * MAX_CHANNELS); - auto duration = faad_song_duration(&buffer, is); + auto duration = faad_song_duration(buffer, is); bool recognized = !duration.IsNegative(); if (!recognized) { @@ -318,7 +318,7 @@ faad_get_file_time(InputStream &is) decoder_buffer_fill(&buffer); AudioFormat audio_format; - if (faad_decoder_init(decoder, &buffer, audio_format, + if (faad_decoder_init(decoder, buffer, audio_format, IgnoreError())) recognized = true; @@ -330,7 +330,7 @@ faad_get_file_time(InputStream &is) static void faad_stream_decode(Decoder &mpd_decoder, InputStream &is, - DecoderBuffer *buffer, const NeAACDecHandle decoder) + DecoderBuffer &buffer, const NeAACDecHandle decoder) { const auto total_time = faad_song_duration(buffer, is); @@ -390,7 +390,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is, break; } - decoder_buffer_consume(buffer, frame_info.bytesconsumed); + decoder_buffer_consume(&buffer, frame_info.bytesconsumed); /* update bit rate and position */ @@ -418,7 +418,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is) const NeAACDecHandle decoder = faad_decoder_new(); - faad_stream_decode(mpd_decoder, is, &buffer, decoder); + faad_stream_decode(mpd_decoder, is, buffer, decoder); /* cleanup */ |