MCPcopy Create free account
hub / github.com/FastLED/FastLED / read

Method read

src/fl/codec/file_system_codecs.cpp.hpp:48–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46 bool is_open() const override { return mDecoder != nullptr; }
47 void close() override { if (mDecoder) mDecoder->end(); }
48 fl::size_t read(char* dst, fl::size_t bytesToRead) override {
49 if (!mDecoder || !mHasValidFrame) return 0;
50 fl::size totalRead = 0;
51 while (bytesToRead > 0 && mHasValidFrame) {
52 fl::size rem = mFrameSize - mCurrentPos;
53 if (rem == 0) { if (!decodeNextFrameIfNeeded()) break; rem = mFrameSize - mCurrentPos; }
54 fl::size toRead = fl::min(bytesToRead, rem);
55 if (toRead > 0 && mCurrentFrame && mCurrentFrame->rgb().data()) {
56 fl::memcpy(dst + totalRead, (fl::u8*)mCurrentFrame->rgb().data() + mCurrentPos, toRead);
57 mCurrentPos += toRead; totalRead += toRead; bytesToRead -= toRead;
58 } else break;
59 }
60 return totalRead;
61 }
62 using filebuf::read;
63 fl::size_t write(const char*, fl::size_t) override { return 0; }
64 fl::size_t tell() override { return 0; }

Callers 3

fillBufferMethod · 0.45
beginMethod · 0.45
loadJpegMethod · 0.45

Calls 3

memcpyFunction · 0.50
dataMethod · 0.45
rgbMethod · 0.45

Tested by

no test coverage detected