Commit Graph

5805 Commits

Author SHA1 Message Date
Martin Pulec
17fa2dba42 timespec_get compat
macOS 10.11 which we still use for backward-compatible mac builds
doesn't have timespec_get function.
2022-03-22 14:40:56 +01:00
Martin Pulec
273a1082d2 tv: fixed wrong abbrev (ms) for microseconds 2022-03-22 14:40:56 +01:00
Martin Pulec
7bace13948 DeckLink disp.: timecode support for Win 2022-03-22 14:40:56 +01:00
Martin Pulec
e7c07129b9 DeckLink disp.: reindent display_decklink_getf
Just remove a block by checking the init condition first (+ in opposite
case return nullptr instead of empty envelope).
2022-03-22 14:40:46 +01:00
Martin Pulec
f4053fcec5 DeckLink disp.: small cleanup
+ use high_resolution_clock instead of timeval for printing 5-sec FPS stats
2022-03-22 14:40:46 +01:00
Martin Piatka
6e8c3e31d4 audio/filter: Add some documentation 2022-03-21 15:30:31 +01:00
Martin Piatka
c506112d89 audio/filter: Adding filters via control port 2022-03-21 15:19:42 +01:00
Martin Piatka
79437689ff audio/filter: Add support for control port 2022-03-21 14:25:41 +01:00
Martin Piatka
a05362e760 audio: Use module_raii wrapper 2022-03-21 13:02:52 +01:00
Martin Piatka
e485853359 module: Add small RAII wrapper 2022-03-21 13:01:48 +01:00
Martin Piatka
7b68e5b3f5 audio/filter/delay: Num ber parsing compat 2022-03-18 15:18:37 +01:00
Martin Piatka
3cf5123c3f audio/filter: audio delay filter 2022-03-18 14:15:31 +01:00
Martin Piatka
e81af5423f Add audio capture filter infrastructure 2022-03-18 14:15:30 +01:00
Martin Piatka
2dee9ff16d ring_buffer: assert size > 0
Otherwise it crashes elsewhere on division by 0.
2022-03-18 14:15:30 +01:00
Martin Piatka
c580a3b3a1 ring_buffer: Replace malloc/free with C++ memory management
The ring_buffer struct contains std::atomic which is a c++ object and
has a constructor, which is not called if the struct is malloc'ed.

This probably wasn't really an issue, since the constructor for those
doesn't do anything interesting anyway.
2022-03-18 14:13:14 +01:00
Martin Piatka
b065dd8117 ring_buffer: add fill() function 2022-03-18 14:11:42 +01:00
Martin Pulec
b1bc866d7f mist_test.cpp: ignore false positive clang warning 2022-03-18 08:52:32 +01:00
Martin Pulec
0de3402090 Do not load modules for run_tests
Modules are linked statically even for the modular build to test
executable.

See 1386ffe5
2022-03-18 08:52:32 +01:00
Martin Pulec
90686125c9 gettimeofday win32 compat: use timespec_get 2022-03-18 08:52:32 +01:00
Martin Pulec
4f84c59d59 tv_add_usec: use lldiv 2022-03-18 08:52:32 +01:00
Martin Pulec
d1f3206077 RTP: work also with time in NS 2022-03-18 08:52:32 +01:00
Martin Pulec
4b315f93de rtp: ts was needlessly dyn. allocated 2022-03-18 08:52:31 +01:00
Martin Pulec
b5f1fd3735 Replaced chrono clocks with integer nanoseconds
Ref 84861d6

It was perhaps rather a workaround for low-resolution Windows timeval
compat. On the other hand it enforced C++ API and makes things a bit
complicated. It had also broken some invariants, namely that the timeval
values had been wallclock time.
2022-03-18 08:52:29 +01:00
Martin Pulec
571813689f audio under/overflows: be more verbose
Print actual numbers of underflow/underflow samples for better
diagnostics.
2022-03-14 11:33:34 +01:00
Martin Pulec
8e77dab6ff Linux firejail: add some whitelists
Added explicit whitelist for --playback and -t testcard:filename
patterns.
2022-03-11 15:43:09 +01:00
Martin Pulec
8b793e9772 rtpenc_h264: use RTPENC_STATE_DECLARE 2022-03-11 10:48:49 +01:00
Martin Pulec
26ad719ac3 configure: print warnings also in the end
This prevents some to be missed by user.

- removed screen cap warning for a very old mac
- for conference print it to summary only if the module was requested
  explicitly
2022-03-11 10:48:49 +01:00
Martin Pulec
89a4050c76 lib_common: move dlopen etc compat to separate src
It is a bit needless to compile the dlerror() commat in a huge number of
sources including that file. Moreover, the compat functions are not
direcly linked to modules' infrastructure in UG, which was piggy-backed
to.
2022-03-11 10:48:49 +01:00
Martin Pulec
8036a832eb AJA: ifdef diagnose GCC pragmas 2022-03-11 10:48:48 +01:00
Martin Pulec
b52a62965b GitHub CI C/C++ mac NDI: workaround not needed
Remove a workaround that is no longer needed with current NDI.
2022-03-11 10:48:48 +01:00
Martin Pulec
a4bf653605 CoreAudio cap.: CHECK_OK - print err code
+ really print warning if error_action is NOOP
2022-03-11 10:48:48 +01:00
Martin Pulec
c123ac275b CoreAudio cap.: do not use goto to handle errors
break from "do {} while(0);" instead
2022-03-11 10:48:48 +01:00
Martin Pulec
e53f5979fc CoreAudio cap.: use CHECK_OK macro 2022-03-11 10:48:47 +01:00
Martin Pulec
331856268e CoreAudio cap.: fixed double [CoreAudio] 2022-03-11 10:48:47 +01:00
Martin Pulec
31c750e4a1 audio volume report: use RMS/peak format
Seems to be more readable than the previous format.
2022-03-11 10:48:47 +01:00
Martin Pulec
60f0e1cb03 CoreAudio play: replaced fprintfs with logger 2022-03-11 10:48:47 +01:00
Martin Pulec
bf3a9d619e CoreAudio play: replace an assert with log 2022-03-11 10:48:46 +01:00
Martin Pulec
57fcc088cb transmit: moved packet size computation to separate func 2022-03-11 10:48:42 +01:00
Martin Pulec
6d5cbde4fa transmit video multipliers: simplified pattern
Simply send multiplied packets sequentially, like for mult:3:

0 0 0 1 1 1 2 2 2 ....

This simplifies the code while the old one was already defunct (at least
the access to packet sizes' list was wrong since recent rewrite).
2022-03-11 10:19:50 +01:00
Martin Pulec
eb9b00b6e9 rtpenc_h264 rewritten
- store the buffer+size with _init
- return also pointer to data and EOF flag from _parse
- use longs instead of unsigned for buffer lengths
2022-03-11 10:19:50 +01:00
Martin Pulec
df16e3f17a transmit: compute pixel format alignment only once 2022-03-11 10:19:50 +01:00
Martin Pulec
e72de3967b video_codec: set block size to 1 for compressed
This slightly simplifies things (like division of the size to packets).
2022-03-11 10:19:50 +01:00
Martin Pulec
806d456db5 transmit: moved gcd/lcm to utils/math.h 2022-03-11 10:19:49 +01:00
Martin Pulec
3b1eff5cc3 transmit: rewrite get_data_len
- renamed to get_video_pkt_len()
- use alignment var that is common denominator for both pixel formats
  and FEC symbols
2022-03-11 10:19:49 +01:00
Martin Pulec
600b5c92fa transmit: use array for mult_pos
+ declare some vars when initialized (audio_tx_send())
2022-03-11 10:19:19 +01:00
Martin Pulec
a778460fba Compute packet sizes only once 2022-03-11 10:02:02 +01:00
Martin Pulec
f5a837693f dlerror Win compat: use FormatMessageA explicitly
With current flags, -DUNICODE is defined, thus compiling preview.cpp
using wide function (FormatMessageW) implicitly, thus use FormatMessageA
explicitly.
2022-03-09 16:29:17 +01:00
Martin Pulec
8d05cde1a5 GitHub CI Win: install windeployqt for Qt6 2022-03-09 16:29:07 +01:00
Martin Pulec
8b0af756bb GitHub CI C/C++ Win: use Qt 6 2022-03-09 16:09:37 +01:00
Martin Pulec
1733346ce4 Makefile: QT_CFLAGS->QT_CXXFLAGS
Qt toggles some C warnings not known to C++.
2022-03-09 16:09:36 +01:00