| 119 | } |
| 120 | |
| 121 | void FFMS_Index::WriteIndex(ZipFile &zf) { |
| 122 | // Write the index file header |
| 123 | zf.Write<uint32_t>(INDEXID); |
| 124 | zf.Write<uint32_t>(FFMS_VERSION); |
| 125 | zf.Write<uint16_t>(INDEX_VERSION); |
| 126 | zf.Write<uint32_t>(size()); |
| 127 | zf.Write<uint32_t>(ErrorHandling); |
| 128 | zf.Write<uint32_t>(avutil_version()); |
| 129 | zf.Write<uint32_t>(avformat_version()); |
| 130 | zf.Write<uint32_t>(avcodec_version()); |
| 131 | zf.Write<uint32_t>(swscale_version()); |
| 132 | zf.Write<int64_t>(Filesize); |
| 133 | zf.Write(Digest); |
| 134 | |
| 135 | zf.Write<uint32_t>(LAVFOpts.size()); |
| 136 | for (const auto &iter : LAVFOpts) { |
| 137 | zf.Write<uint32_t>(iter.first.length()); |
| 138 | zf.Write(iter.first.data(), iter.first.length()); |
| 139 | zf.Write<uint32_t>(iter.second.length()); |
| 140 | zf.Write(iter.second.data(), iter.second.length()); |
| 141 | } |
| 142 | |
| 143 | for (size_t i = 0; i < size(); ++i) |
| 144 | at(i).Write(zf); |
| 145 | |
| 146 | zf.Finish(); |
| 147 | } |
| 148 | |
| 149 | void FFMS_Index::WriteIndexFile(const char *IndexFile) { |
| 150 | ZipFile zf(IndexFile, "wb"); |