* Read and parse a "PROP" chunk. */
| 159 | * Read and parse a "PROP" chunk. |
| 160 | */ |
| 161 | static bool |
| 162 | dsdiff_read_prop(DecoderClient *client, InputStream &is, |
| 163 | DsdiffMetaData &metadata, |
| 164 | const DsdiffChunkHeader &prop_header) |
| 165 | { |
| 166 | uint64_t prop_size = prop_header.GetSize(); |
| 167 | const offset_type end_offset = is.GetOffset() + prop_size; |
| 168 | |
| 169 | DsdId prop_id; |
| 170 | if (prop_size < sizeof(prop_id) || |
| 171 | !dsdiff_read_id(client, is, prop_id)) |
| 172 | return false; |
| 173 | |
| 174 | if (prop_id.Equals("SND ")) |
| 175 | return dsdiff_read_prop_snd(client, is, metadata, end_offset); |
| 176 | else |
| 177 | /* ignore unknown PROP chunk */ |
| 178 | return dsdlib_skip_to(client, is, end_offset); |
| 179 | } |
| 180 | |
| 181 | static void |
| 182 | dsdiff_handle_native_tag(DecoderClient *client, InputStream &is, |
no test coverage detected