| 226 | } |
| 227 | |
| 228 | static DecodeResult |
| 229 | decoder_run_stream_locked(DecoderBridge &bridge, InputStream &is, |
| 230 | std::unique_lock<Mutex> &lock, |
| 231 | std::string_view uri) |
| 232 | { |
| 233 | const auto suffix = uri_get_suffix(uri); |
| 234 | |
| 235 | DecodeResult result = DecodeResult::NO_PLUGIN; |
| 236 | for (const auto &plugin : GetEnabledDecoderPlugins()) { |
| 237 | const auto r = decoder_run_stream_plugin(bridge, is, lock, suffix, plugin); |
| 238 | if (r > result) { |
| 239 | result = r; |
| 240 | if (IsFinalDecodeResult(result)) |
| 241 | break; |
| 242 | } |
| 243 | } |
| 244 | |
| 245 | return result; |
| 246 | } |
| 247 | |
| 248 | /** |
| 249 | * Try decoding a stream, using the fallback plugin. |
no test coverage detected