diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-12-16 17:45:46 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-12-18 01:10:32 +0100 |
| commit | c3c127e0bdb988696d16f47ea8080df3eff38420 (patch) | |
| tree | ecdff8d299152eef491f1946e6ccb4f6d9cf8e71 /src/sound_asset.cc | |
| parent | 45ed3bf55175a8555123b320b366efb69b1ba629 (diff) | |
Add can_be_read() to ReelFileAsset and subclasses.
Diffstat (limited to 'src/sound_asset.cc')
| -rw-r--r-- | src/sound_asset.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/sound_asset.cc b/src/sound_asset.cc index f671a58a..614f6165 100644 --- a/src/sound_asset.cc +++ b/src/sound_asset.cc @@ -294,3 +294,24 @@ SoundAsset::active_channels() const return _active_channels.get_value_or(_channels); } + +bool +SoundAsset::can_be_read() const +{ + if (!MXF::can_be_read()) { + return false; + } + + try { + auto reader = start_read(); + reader->set_check_hmac(false); + reader->get_frame(0); + } catch (dcp::ReadError&) { + return false; + } catch (dcp::MiscError&) { + return false; + } + + return true; +} + |
