Handle exceptions from AviSynthWrapper ctor
This commit is contained in:
parent
21591b3e88
commit
691ab820b8
2 changed files with 8 additions and 2 deletions
|
@ -63,7 +63,7 @@ public:
|
|||
bool NeedsCache() const override { return true; }
|
||||
};
|
||||
|
||||
AvisynthAudioProvider::AvisynthAudioProvider(agi::fs::path const& filename) {
|
||||
AvisynthAudioProvider::AvisynthAudioProvider(agi::fs::path const& filename) try {
|
||||
agi::acs::CheckFileRead(filename);
|
||||
|
||||
std::lock_guard<std::mutex> lock(avs_wrapper.GetMutex());
|
||||
|
@ -100,6 +100,9 @@ AvisynthAudioProvider::AvisynthAudioProvider(agi::fs::path const& filename) {
|
|||
throw agi::AudioProviderError("Avisynth error: " + errmsg);
|
||||
}
|
||||
}
|
||||
catch (AvisynthError& err) {
|
||||
throw agi::AudioProviderError("Avisynth error: " + std::string(err.msg));
|
||||
}
|
||||
|
||||
void AvisynthAudioProvider::LoadFromClip(AVSValue clip) {
|
||||
// Check if it has audio
|
||||
|
|
|
@ -93,7 +93,7 @@ public:
|
|||
bool HasAudio() const override { return has_audio; }
|
||||
};
|
||||
|
||||
AvisynthVideoProvider::AvisynthVideoProvider(agi::fs::path const& filename, std::string const& colormatrix) {
|
||||
AvisynthVideoProvider::AvisynthVideoProvider(agi::fs::path const& filename, std::string const& colormatrix) try {
|
||||
agi::acs::CheckFileRead(filename);
|
||||
|
||||
std::lock_guard<std::mutex> lock(avs.GetMutex());
|
||||
|
@ -182,6 +182,9 @@ file_exit:
|
|||
throw VideoOpenError("Avisynth error: " + std::string(err.msg));
|
||||
}
|
||||
}
|
||||
catch (AvisynthError const& err) {
|
||||
throw VideoProviderError("Avisynth error: " + std::string(err.msg));
|
||||
}
|
||||
|
||||
void AvisynthVideoProvider::Init(std::string const& colormatrix) {
|
||||
auto script = source_clip;
|
||||
|
|
Loading…
Reference in a new issue