The line was needlessly chatty and thus harder to read. Currently,
it is a bit more techical but (IMO) somehow easier to read. Since
it is printed in VERBOSE mode or higher, there should be no problem.
Some macs doesn't have Monaco.ttf, in which case Keyboard.ttf is usually
selected, which is not monospace and doesn't have a symbol for ':'.
The mac, where Monaco.ttf is missing usually have Monaco.dfont, that
can be directly used, so added it to font_candidates.
The ":help" was printed out twice, anyways - first mixed together with
other options and then with extra_ip (to enforce sender ip adddr to
source listing).
just a default value
Actually, not much is influenced by that change, since it has been 5 (by
default) and the version 6 keeps v5 API, so that the entrypoint remains
`const NDIlib_v5* NDIlib_v5_load(void);` (not 6).
Only functional change is updated fallback path in MSW.
Note that the printed now is the runtime version, while in the previous
version it wash the version used (just) for the compilation. Current
inmplementation seem to be better, anyways.
Do not call dlerror() second time - the function actually clears the
error status, so that the second call returns NULL (printing with '%s'
is actually UB).
the message: `Error: No such keg: /opt/homebrew/Cellar/asciidoctor`
is now print on stderr, which disturbs GitHub CI (complains about it in
action summary annotations; just a warning).
`
moved compat functions from config_*h, namely:
- localtime_s/gmtime_s
- strerror_s
- mkdir Windows compat
- removed str[n]cmp from compat/misc (already in compat/strings,h,
which is the better location)
Do not use config*.h in export.c (motivation for the above changes).
Some features that are used by x86_64 Linux build are disabled, for the
rest dependencies are installed.
disabled:
- CUDA features (except of NV Jetson usually there is no CUDA)
- lavc vdpau (similar to CUDA, it is primarliy NV-focused API)
- Qt GUI
- Cineform (doesn't compile on ARM)
dependencies installed:
- libsdl2-ttf-dev
- libsdl2-mixer-dev
- libva-dev
Added `--param bmd-sort-natural` to enforce old devices' sorting in help +
display the old indices instead of new ones. Numeric indices can be used
regardless the option (althoug hidden by default).
The guard value should be used only for one pair of
com_initialize/uniniialize call, so ensure it by checking if the value
is initialized to false.
It should be possible to use an int instead but there is currently
no need.
Set the occurences to false explicitly (in the case of vcap/deck change
from true to false).
Called in almost all cases with true, so CoInitialize unconditionally.
The only occurence with false in vcap/deck seem to be possible with true
as well - it just does one extra CoInit/CoUninit.
The numeric indices now use the "natural" index as devices given by
IDeckLinkIterator. The idea is to keep the index consistent with previous
versions.
For the devices ordered newly by topological ID, use character indices
instead ('a', 'b' etc.).
Do not advertise numeric indices for now, anyways, even though now left -
it can now be considered as a legacy feature, it can be later added to
the output if considered useful.
Blackmagic API already includes its index in the string for the devices
of which there is more of the same kind, like "DeckLink SDI (4)".
The index can be now a bit misleading and doesn't seem to have any
advantage (devices are indexed from 0 to N).
Limit lifetime of the returned map to the ranged for scope - the map
actually contains references to IDeckLink devices with deleters.
In probes and helps, it meant that release was called at the block
end, which means in this case that the release occurs right after
decklink_uninitalize(), which is certainly incorrect.
It seems that isn't a big problem in inits - it would be a problem just for
devices in the map after the initialized one (previous are unmanaged
and released) and if init fails (decklink_uninitalize will be called
before the block ends in this case).
Allow device specification by topological ID and also sort according to
it. This is important mainly for 8K Pro subdevices, which are now sorted
in this order:
````
0) 580200) DeckLink 8K Pro (1)
1) 580201) DeckLink 8K Pro (3)
2) 580202) DeckLink 8K Pro (2)
3) 580203) DeckLink 8K Pro (4)
```
The new order actually represent the physical SDI connector order of the
card - the SDIs on the cards from the PCIe slots are Ref In, DeckLink
8K Pro (1), D8K (3), D8K (2), D8K (3).
The commit bd91d16b (2024-05-31) causes the live555 being build on all
platforms, including arm Linux. But the plaform is not valid for that,
so replace linux-64bit with linux.
Also enforce live555 in this case.