Commit Graph

7684 Commits

Author SHA1 Message Date
Martin Pulec
e243777d66 vdisp/decklink
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).
2024-11-26 08:29:30 +01:00
Martin Pulec
8d91757f7d fix CID 470420 2024-11-26 08:29:30 +01:00
Martin Pulec
a0ef81d76b audio/codec: improved including 2024-11-25 15:09:09 +01:00
Martin Pulec
9cd1af1a03 aplay/alsa: remove 2 messages
- 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)
2024-11-25 15:09:08 +01:00
Martin Pulec
73718becae aplay/jack: avoid using alloca/strdup
+ small related improvements
2024-11-22 10:15:54 +01:00
Martin Pulec
20a3ed68ca BMDNotificationCallback: watch overheating
soft warning >= 77 °C, hard over 82
2024-11-20 11:39:54 +01:00
Martin Pulec
9ab3738fbb Linux net buf increase hint sysct.conf path change
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).
2024-11-20 10:52:54 +01:00
Martin Pulec
32322f2393 bmd status: print temperature in verbose
since the temperature changes quite often, rate limit it to one minute
2024-11-20 10:07:59 +01:00
Martin Pulec
9adf205d31 bmd_status: use module prefix
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] ").
2024-11-19 16:54:12 +01:00
Martin Pulec
5f67a064b0 bmd_status: print some generally useful info
- refactorized
- added API check (hint to re-check changes)
- implement ST_BIT_FIELD (for busy status)
2024-11-19 16:54:11 +01:00
Martin Pulec
1bfae7bf66 bmd_common fourcc cmdline example improved
For the dst IP address-specifying opt, include also the port number.

The port number should have escaped colon, so that add it to the example.
2024-11-19 16:54:11 +01:00
Martin Pulec
2d71744c2c bmd_status improvements
- use BMD_CHECK to check HRESULT
- check Unsubscribe ret val
- if deckLink->QueryInterface(IID_IDeckLinkNotification, ..) fails,
release deckLinkStatus
- doxygen updates
2024-11-19 16:54:11 +01:00
Martin Pulec
d500197b63 bmd: keep notification interface in BMDNotificationCallback
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.
2024-11-19 16:54:11 +01:00
Martin Pulec
7395ad79cc decklink: use bmd notification API
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).
2024-11-19 16:54:11 +01:00
Martin Pulec
cdb90d8422 bmd_status: print the status for all devices
do not diffeentiate between IP and non-IP devices
2024-11-19 16:54:10 +01:00
Martin Pulec
d1c4888eca bmd_status: be more generic 2024-11-19 16:54:10 +01:00
Martin Pulec
54360d1590 bmd_common: non-Linux compat fixes
- 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)
2024-11-19 16:54:10 +01:00
Martin Pulec
d71c28eef0 vcap,disp/decklink: allow \: in fourcc opts
this now allows specifying the IP address including port:

    uv -d 'decklink:d=DeckLink IP/SDI HD (1):noav=239.255.194.25\:16666'
2024-11-19 16:54:10 +01:00
Martin Pulec
b9ca43e295 bmd: print Ethernet status (for IP devices) 2024-11-19 16:54:10 +01:00
Martin Pulec
1baedda2bc bmd: added Ethernet related types 2024-11-19 16:54:05 +01:00
Martin Pulec
8ab25ad234 bmd_option::parse: accept 0x prefix for number
When evaluating if a string is the number, expect that it may start with
0x prefix (for hexa values).
2024-11-19 16:54:04 +01:00
Martin Pulec
01cb8613e3 bmd_opt_help: print known options+examples 2024-11-19 16:54:04 +01:00
Martin Pulec
83847d58be blackmagic_common: fourcc->name mapping
- 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)
2024-11-19 16:54:04 +01:00
Martin Pulec
3125ea2d04 vdisp/decklink: avoid using of alloca 2024-11-19 16:54:04 +01:00
Martin Pulec
bebc2c203b bmd: add FourCC option help 2024-11-19 16:54:04 +01:00
Martin Pulec
a1b669106c BMD: updated SDK to 12.6
first to support DeckLink IP

In this import, do not import the older API versions (Linux, Mac) -
it is not needed since we do not use them.
2024-11-18 09:32:32 +01:00
Martin Pulec
754947a059 vdisp/file: avoid deprecated AVCodec::sample_fmts
see the also the commit 8b94de58 (2024-11-12)
2024-11-14 11:54:19 +01:00
Martin Pulec
2bb1ad97ac vcap/preview vdisp/unix_sock: use path rel to src/
see the previous commit
2024-11-14 11:54:19 +01:00
Martin Pulec
541ad58eb6 ldgm: fixed including
- use the path relative to src/ (-I. will be removed)
- remove mkdir compat from config_win32.h (is now in compat/misc.h)
2024-11-14 11:54:18 +01:00
Martin Pulec
ef9035b7d0 cuda_dxt: ditto 2024-11-14 11:50:46 +01:00
Martin Pulec
8652394f7c RTDXT: fixed including
use the path relative to src/ (-I. will be removed)
2024-11-14 11:50:43 +01:00
Martin Pulec
2ccf666c16 audio_decoders: drop src/ from include
the include path convention for quoted inclues in UG is relative to src/,
alternative can be to current path but not to the src root
2024-11-14 10:35:32 +01:00
Martin Pulec
d4e216e21c aplay/mixer: participant add/rm print fixes
- 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)
2024-11-13 17:00:10 +01:00
Martin Pulec
a68f76ca9c aplay/mixer fix
fixed HEAD^^
2024-11-13 16:20:39 +01:00
Martin Pulec
a9b988f9d8 lavc_common: fixed compat
+ fixed unused parm warn with old FFmpeg
2024-11-13 14:58:45 +01:00
Martin Pulec
225fbc8ea1 aplay/mixer: print participant add/rm 2024-11-13 14:52:28 +01:00
Martin Pulec
110e656b46 aplay/mixer: fixed including 2024-11-13 14:46:59 +01:00
Martin Pulec
13fee82660 lavc_common: insufficient include guard
fixed include guard (commit 8b94de582 from yesterday)
2024-11-13 14:40:41 +01:00
Martin Pulec
352eab7e76 tv.h: added more unit-convert macros 2024-11-13 14:08:33 +01:00
Martin Pulec
f39e24e232 acodec/lavc: fixed including 2024-11-13 14:08:32 +01:00
Martin Pulec
2c070b9777 Vulkan >=301 compat 2024-11-12 16:39:42 +01:00
Martin Pulec
8b94de582c lavc: replace deprecated items
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.
2024-11-12 14:59:19 +01:00
Martin Pulec
875c585dc3 vcap/rtsp: unlink the (fallback) file 2024-10-31 16:05:43 +01:00
Martin Pulec
8b33b1e058 vcap/rtsp: create fallback file in $TMPDIR
If running with Firejail, neither /tmp (used by tmpfile()) nor CWD may
be writable so try to create file in $TMPDIR (if defined, otherwise
there a default).

+ modified get_temp_file() opened file mode to be readable
2024-10-31 10:58:47 +01:00
Martin Pulec
351b056f91 vcap/rtsp: turn some messages to debug
perhaps just relicts

actualiy, it used to be "debug" prior to 476aff20
2024-10-31 10:58:47 +01:00
Martin Pulec
328dd443fc get_temp_file: allow NULL for output filename 2024-10-31 10:58:47 +01:00
Martin Pulec
85447d7438 pbuf SSRC printout more terse
In verbose mode, the SSRC is still printed but it makes - toghether
with timestamps that are default in verbose - the line quite long,
so make it a bit shorter.
2024-10-31 08:50:02 +01:00
Martin Pulec
41daf835a1 tx_init: allow NULL for encryption
Refactoring done in 1ab725d57 (2024-08-05) changed the behavior not to
expect NULL pointer, because common_opts.encryption is a char array now.
But tx_init calls also audio/playback/mixer, which crashes since then so
be less rigid in this case.
2024-10-30 11:47:35 +01:00
Martin Pulec
54e57d7dee DELTACAST: allow compilation with v6.19
v6.19 and v6.20 is undistinguishable by preprocessor but the later
changes the API. So added a preprocessor directive to allow compilation
with v6.19 passed by user. It could have been checked by autoconf but
it is perhaps not worth the effort.
2024-10-25 10:04:09 +02:00
Martin Pulec
72ac724fb1 correct color names
The actual value (5,2,1)/5 didn't match peach fuzz (255,190,152)/255
but the rather closest color is Tomato (255,99,71)/255.

The T_DARKER_ORANGE is poorly defined but its value (3,1,0)/5 matches
approximately the X11 color Saddle Brown (139,69,19)/255.
2024-10-21 10:55:27 +02:00