fix double copy; also CID 470421
Copied tvice from 3125ea2d (2024-11-18) - actually the original strcpy()
was forgotten (replaced in favor of snprintf_ch).
- do not inform about new API - it has been there a long time and obviously
the "new" API works fine
- do not warn that cannot get the latency - the procfs file is no longer
available so it is issued all the time. It works with the default value
24 ms just fine.
- regading the above, do not obtain the value at all - since it now works
fine, we do not need to depend on an external value that may potentially
break the stuff (it would be required to re-test if needed)
THe problem seems to be that there is preinstalled pkg-config@0.29.2 in
CI but the version that is being to be installed is an alias for pkgconf.
The problem seems to be cumbersome, because installing pkgconf fails, pkg-config
as well (tries to install pkgconf 2.3.0; installed version of pkg-config
is pkg-config@0.29.2).
So made just a workaround, that will not be needed after the updated
pkg-config (linked to pkgconf) applies to all macos runners (will be
preinstalled).
The problematic package is pkg-config in current macos-13 runner but
pkg-config@0.29.2 in macos-14 image.
suppress `brew list` output
It is used just to check if a package is installed and the output is
print is output to stdout. To stderr is print that it if the package is
not installed.
pkgconf is more modern version and the CI on macos-14 now fails
because both pkg-config and pkgconf (presumably as a dependency) are to
be installed.
The erroa (the beginning, additional info omittedr):
```
==> Pouring pkgconf--2.3.0_1.arm64_sonoma.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/pkg-config
Target /opt/homebrew/bin/pkg-config
is a symlink belonging to pkg-config@0.29.2. You can unlink it:
brew unlink pkg-config@0.29.2
```
Both pkgconf and pkg-config can be installed automatically as a dependency
of some other packages so ensure a defined state (both installed,
pkg-config disabled).
CUDA_FLAGS were used to get the flags passed to nvcc. But cmake uses
CUDAFLAGS and it is perhaps more convenient (similar to CFLAGS, CXXFLAGS)
so accept both.
Changed the path to from /etc/sysctl.conf to
/etc/sysctl.d/60-ultragrid.conf. It seems like systemd 256 no longer
applies /etc/sysctl.conf directly but only the sysctl.d/*conf.
Keeping the changes separate is nicer, anyways. It should work for
non-systemd systems as well, checked Alpine and Void (runit).
to be able to identify capture vs playback
This may or may not be important - if cap/disp is on single device,
the status is global so it doesn't matter there. But those can be 2
separate DeckLinks and then there will be hard to differntiate.
Also, both devices will get the same notifications so this makes at least
clear that the duplicate has some reason. (Maybe it will be useful to
figure out how to print just once?)
Note that BMD_CHECK still uses the blackmagic_common.cpp MOD_NMAE
("[DeckLink] ").
- use BMD_CHECK to check HRESULT
- check Unsubscribe ret val
- if deckLink->QueryInterface(IID_IDeckLinkNotification, ..) fails,
release deckLinkStatus
- doxygen updates
I am not entierly sure if releasing IDeckLinkNotification in register
fuction actually doesn't cleanup the state. It seems it does not but
just to be sure.
The changes, eg. IP address do not take place immediately so it is
importatnt to print the changed value for the user to be sure that the
values is changed (the original is printed first by the bmd_print_status).
- the prop type must be BMDDeckLinkStatusID (Windows)
- `string_val = ""` also do not work if BMD_STR is different than in
Linux -> simplify (use the common code)
- moved out of fcc_to_string to be used otherwhere
- split options and values (for futher use)
- converted from unordered_map to plain C-array (unordered map may throw
on file scope which cannot be catched)
- do not print it in constructor/dtor - the participant may be moved
- copy the stored address in copy constructor
- use get_sockaddr_str + change its prototype - do not use thread_local
vars but user provided buffer
- also take (const sockaddr *) in the get_sockaddr_str and
get_sockaddr_addr_* functions (participants iterated by const iterator
returning const participant reference)
Some AVCodec properties like pix_fmts or sample_fmts are marked as
deprecated and should be replaced by avcodec_get_supported_config()
in current FFmpeg.
Created compat functions to get rid of deprecate warnings running with
both old and new FFmpeg.