| 59 | } |
| 60 | |
| 61 | int Read(size_t chunk, MediaPacket& pkt, ostream & ignored SRT_ATR_UNUSED = cout) override |
| 62 | { |
| 63 | if (pkt.payload.size() < chunk) |
| 64 | pkt.payload.resize(chunk); |
| 65 | |
| 66 | pkt.time = 0; |
| 67 | ifile.read(pkt.payload.data(), chunk); |
| 68 | size_t nread = ifile.gcount(); |
| 69 | if (nread < pkt.payload.size()) |
| 70 | pkt.payload.resize(nread); |
| 71 | |
| 72 | if (pkt.payload.empty()) |
| 73 | { |
| 74 | return 0; |
| 75 | } |
| 76 | |
| 77 | return (int) nread; |
| 78 | } |
| 79 | |
| 80 | bool IsOpen() override { return bool(ifile); } |
| 81 | bool End() override { return ifile.eof(); } |