Handle missing Decklink hardware when drivers are installed#238
Merged
tedwaine merged 1 commit intoAcademySoftwareFoundation:mainfrom Mar 30, 2026
Merged
Conversation
Signed-off-by: xShirae <xshiraayuki@gmail.com>
631cc2e to
08c8363
Compare
Contributor
|
Thank you! |
tedwaine
pushed a commit
that referenced
this pull request
Mar 30, 2026
Signed-off-by: xShirae <xshiraayuki@gmail.com> Signed-off-by: Ted Waine <ted.waine@gmail.com>
tedwaine
added a commit
that referenced
this pull request
Mar 30, 2026
* Add numpy to pip installed packages Signed-off-by: Ted Waine <ted.waine@gmail.com> * Tweak for set video range action Signed-off-by: Ted Waine <ted.waine@gmail.com> * Handle missing Decklink hardware when drivers are installed (#238) Signed-off-by: xShirae <xshiraayuki@gmail.com> Signed-off-by: Ted Waine <ted.waine@gmail.com> --------- Signed-off-by: Ted Waine <ted.waine@gmail.com> Signed-off-by: xShirae <xshiraayuki@gmail.com> Co-authored-by: xShirae <83482842+xShirae@users.noreply.github.com>
richardssam
pushed a commit
to richardssam/xstudio
that referenced
this pull request
Apr 2, 2026
…oftwareFoundation#238) Signed-off-by: xShirae <xshiraayuki@gmail.com> Signed-off-by: Ted Waine <ted.waine@gmail.com> Signed-off-by: Sam.Richards@taurich.org <Sam.Richards@taurich.org>
jhery-rdo
pushed a commit
to jhery-rdo/xstudio
that referenced
this pull request
Apr 16, 2026
Brings in rdo_media_loader, media_hook_rodeo, and annotation onion skin plugins. DeckLink conflicts resolved by keeping our version from PR AcademySoftwareFoundation#238. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jhery-rdo
pushed a commit
to jhery-rdo/xstudio
that referenced
this pull request
Apr 22, 2026
…on#238) Reset src/plugin/video_output/bmd_decklink/ to the state at commit 0a90eea "Handle missing Decklink hardware when drivers are installed (AcademySoftwareFoundation#238)". This reverts: - the null-safety/is_available defensive checks in decklink_plugin.cpp that were added on top of the feat branch - the Linux BMD driver ABI fallback additions in DeckLinkAPIDispatch.cpp Also supersedes 1144677 (minimal last_error fix) by a wholesale reset, since 0a90eea's plugin.cpp has a different design that calls DecklinkOutput::check_decklink_installation() in the constructor and throws if the drivers aren't available. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes a crash that occurs when Blackmagic DeckLink drivers are present but no DeckLink hardware is attached.
Problem
The plugin currently checks for DeckLink driver presence, but not whether a usable DeckLink output device was actually
initialised. DecklinkOutput::init_decklink() can fail and leave decklink_output_interface_ null, while the plugin
still logs Decklink Card Initialised and still creates the DeckLink audio output path. Playback later crashes when the
audio path calls DecklinkOutput::num_samples_in_buffer().
What changed
the DeckLink audio actor is not spawned in the invalid state.
of crashing.
Result
With DeckLink drivers installed but no hardware connected:
Reproduction
Before this change:
After this change: