Commit Graph

9419 Commits

Author SHA1 Message Date
Martin Pulec
894bd3afa6 export: allow opts without directory name
allow `uv --record=limit=3:exit_on_limit` (using autmoatic directory export.<date>)
2024-07-01 13:48:35 +02:00
Martin Pulec
0a0b14e2c6 video_rxtx: don't unregister callb. if not regist.
Do not unregister the should_exit callback if not registsterd. This
occurs eg. when invalid host was entered, like: `uv blah`.
2024-06-28 10:01:02 +02:00
Martin Pulec
b4bf412a7a print RR more briefly
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.
2024-06-26 14:33:36 +02:00
Martin Pulec
e6473a01dd AppRun Firejail: allow Avahi over D-bus
needed for NDI discovery
2024-06-26 14:33:24 +02:00
Martin Pulec
3685805e68 vcap/testcard2: try also Monaco.dfont as mac font
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.
2024-06-26 11:14:24 +02:00
Martin Pulec
bb24cb5c54 vcap/testcard2: improved font err msg
error was printed instead of font name - print both now
2024-06-26 11:14:24 +02:00
Martin Pulec
11f502cf46 vcap/testcard2: print used font
\+ print (unsuccessfully) tried fonts in verbose
2024-06-26 11:13:49 +02:00
Martin Pulec
be8ef1c9d9 configure: summary - in-sort DRM, Pipewire 2024-06-26 10:52:45 +02:00
Martin Pulec
477103ef9d vcap/testcard2: fixed including
do not include config_*.h (but config.h still - needed for HAVE_ macros)
2024-06-26 10:48:22 +02:00
Martin Pulec
154cf15a04 configure: print presence of sdl[2]_ttf 2024-06-26 10:26:22 +02:00
Martin Pulec
f64f05a3c7 vcap/ndi: DNS-SD is required for NDI discovery (msg)
To be preciese, not mDNS but DNS-SD is required to NDI discovery,
i.e. avahi-daemon is required in Linux, although systemd-resolved is
mDNS capable.
2024-06-25 15:58:54 +02:00
Martin Pulec
e0f1bc8b0b vcap/ndi: usage - print help on separate line
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).
2024-06-25 15:24:30 +02:00
Martin Pulec
16150dc8c1 CI mac: do not install NDI lib
not needed and removing it simplifies the stuff greatly
2024-06-25 15:11:59 +02:00
Martin Pulec
8d9c9391f9 ndi_common: increment USE_NDI_VERSION to 6
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.
2024-06-25 15:08:30 +02:00
Martin Pulec
1a153c22d5 vcap,disp/ndi: print version in init 2024-06-25 15:08:29 +02:00
Martin Pulec
91a9e020dd ndi: do not include config*.h 2024-06-25 15:08:29 +02:00
Martin Pulec
09eb5411ed print NDI ver: use NDIlib_version()
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.
2024-06-25 15:08:29 +02:00
Martin Pulec
3c7a75f486 ndi_common: do not call dlerror() second time
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).
2024-06-25 15:08:29 +02:00
Martin Pulec
b57680dd68 CI: suppress brew list output for uninstalled
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).
`
2024-06-25 15:08:29 +02:00
Martin Pulec
11887dd946 updated NDI copyright
Updated copyright as per current version at:
<https://docs.ndi.video/docs/sdk/licensing>
2024-06-25 15:08:29 +02:00
Martin Pulec
ce0ed361c8 CI NDI: use v6 2024-06-25 15:08:29 +02:00
Martin Pulec
b88d0c4218 CI NDI: do not repeat downloads in install scripts
NDI SDK should be already downloaed from the step before in the YAML.
2024-06-25 15:08:26 +02:00
Martin Piatka
07ed6ce45c audio: Make it clear that channel map applies only to receiver 2024-06-25 13:48:45 +02:00
Martin Piatka
141832b1f0 audio_decoders: Print error when remapping nonexistent audio ch. 2024-06-25 13:48:45 +02:00
Martin Pulec
c8b1e6859d CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-25 09:38:22 +02:00
Martin Pulec
9e0575239b vcomp/cmpto_j2k: mct opt parse fix
Fixed the commit 27bfe2fc (2020-05-29) which added option nomct, but
switched the meaning of nomct and mct by mistake.
2024-06-17 11:03:43 +02:00
Martin Pulec
e494106bba moved strdupa from compat/misc to strings
\+ missing include guard
2024-06-12 14:26:34 +02:00
Martin Pulec
f01e4c36b7 moved around compat functions
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).
2024-06-12 14:02:42 +02:00
Martin Pulec
44665ba19d export: added option exit_on_limit
In conjunction with "limit" useful for testing (namely to documentation
purposes, eg. on GH).
2024-06-12 13:33:29 +02:00
Martin Pulec
9eb292252e CI Linux arm: use common build flags
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
2024-06-12 10:57:52 +02:00
Martin Pulec
e7014492b7 CI Linux arm: fixed drm option 2024-06-12 10:23:11 +02:00
Martin Pulec
a7a0b88d15 deck: added a param to enforce old sort
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).
2024-06-12 10:23:07 +02:00
Martin Pulec
342c42c1f3 deck: print dev numeric indices in fullhelp 2024-06-12 09:41:53 +02:00
Martin Pulec
80e9d01d2d com_initialize: warn if not false
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).
2024-06-12 09:41:53 +02:00
Martin Pulec
8d314ace03 bmd_get_sorted_devices: create iterator internally
This eliminates the need to recreate the iterator if another traversal
is required.
2024-06-12 09:41:53 +02:00
Martin Pulec
fce7459c38 vcap/deck: do not use using std 2024-06-12 09:41:53 +02:00
Martin Pulec
873ab8ff46 create_decklink_iterator: removed coinit param
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.
2024-06-12 09:41:52 +02:00
Martin Pulec
c82eef4258 com init documenation updates (incl deck) 2024-06-12 09:41:52 +02:00
Martin Pulec
e0a1d4fca9 deck: return back original numeric indices
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.
2024-06-12 09:41:52 +02:00
Martin Pulec
1a49de5695 vdisp/deck: do not append device index
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).
2024-06-12 09:41:52 +02:00
Martin Pulec
6905ce94dc deck: topological ID sort fix
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).
2024-06-12 09:41:52 +02:00
Martin Pulec
779ad9002f vdisp/deck: allow dev spec with topological ID 2024-06-12 09:41:51 +02:00
Martin Pulec
24e5aa27f9 vdisp/deck: removed using namespace std 2024-06-12 09:41:51 +02:00
Martin Pulec
bf4d64357a vcap/decklink: sort devices with topological ID
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).
2024-06-12 09:41:51 +02:00
Martin Pulec
5fdab70595 CI live555: add -fPIC
The -fPIC argument is needed for live555 on arm64 Linux.
2024-06-12 08:13:11 +02:00
Martin Pulec
8ee1db3604 CI live555: moved needed C++ flags to CXXFLAGS 2024-06-12 08:13:04 +02:00
Martin Pulec
fde605f2b8 CI: arm build fix
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.
2024-06-12 08:12:53 +02:00
Martin Pulec
818fcc0057 added log-nocolor compat
refers to GH-394 and also earlier GH-256
2024-06-11 15:18:09 +02:00
Martin Pulec
1a71edffd5 vdisp/deck: accept shortopt for profile 2024-06-07 10:40:20 +02:00
Martin Pulec
f9d619bd1c vdisp/deck: profile= fix 2024-06-07 10:40:20 +02:00