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/atmos_asset.cc | |
| parent | 45ed3bf55175a8555123b320b366efb69b1ba629 (diff) | |
Add can_be_read() to ReelFileAsset and subclasses.
Diffstat (limited to 'src/atmos_asset.cc')
| -rw-r--r-- | src/atmos_asset.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/atmos_asset.cc b/src/atmos_asset.cc index 09a22c1e..9c4b1c80 100644 --- a/src/atmos_asset.cc +++ b/src/atmos_asset.cc @@ -122,3 +122,25 @@ AtmosAsset::start_write (boost::filesystem::path file) /* Can't use make_shared here since the constructor is protected */ return shared_ptr<AtmosAssetWriter>(new AtmosAssetWriter(this, file)); } + + +bool +AtmosAsset::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; +} + |
