| 45 | mCurrentPos(0), mPath(path), mHasValidFrame(false) { decodeNextFrameIfNeeded(); } |
| 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; |