| 591 | } |
| 592 | |
| 593 | void Cn4Block::ReadSignalData(std::streambuf& buffer) const { |
| 594 | const uint64_t count = DataSize(); |
| 595 | |
| 596 | uint64_t index = 0; |
| 597 | data_list_.resize(static_cast<size_t>(count), 0); |
| 598 | // The block list should only contain one block. |
| 599 | // A SD block is uncompressed data block |
| 600 | for (const auto &block : block_list_) { |
| 601 | const auto *data_list = dynamic_cast<const DataListBlock *>(block.get()); |
| 602 | const auto *data_block = dynamic_cast<const DataBlock *>(block.get()); |
| 603 | if (data_list != nullptr) { |
| 604 | data_list->CopyDataToBuffer(buffer, data_list_, index); |
| 605 | } else if (data_block != nullptr) { |
| 606 | data_block->CopyDataToBuffer(buffer, data_list_, index); |
| 607 | } |
| 608 | } |
| 609 | } |
| 610 | |
| 611 | void Cn4Block::BitCount(uint32_t bits) { |
| 612 | bit_count_ = bits; |
no test coverage detected