| 12 | : FromVector(bufferize_(stream, size)) {} |
| 13 | |
| 14 | std::vector<Sample> FromStream::bufferize_( |
| 15 | std::shared_ptr<stream::Stream> stream, |
| 16 | int64_t size) { |
| 17 | std::vector<Sample> buffer; |
| 18 | if (size > 0) { |
| 19 | buffer.reserve(size); |
| 20 | } |
| 21 | for (int64_t i = 0; (size < 0) || (i < size); i++) { |
| 22 | auto sample = stream->next(); |
| 23 | if (sample.empty()) { |
| 24 | break; |
| 25 | } |
| 26 | buffer.push_back(sample); |
| 27 | } |
| 28 | return buffer; |
| 29 | } |
| 30 | |
| 31 | } // namespace buffer |
| 32 | } // namespace data |