Commit Graph

201 Commits

Author SHA1 Message Date
Martin Pulec
8d454dade2 SDP: Set correct IP version
+ some documentation
2020-11-20 10:11:33 +01:00
Martin Pulec
055483276c --param decoder-use-codec help 2020-06-29 14:15:07 +02:00
Martin Pulec
14b9a7c151 Main: case insensitive proto comparison 2020-06-10 15:56:46 +02:00
Martin Pulec
91a2769f3e Fixed commit 3657dcaa2 2020-06-10 11:52:04 +02:00
Martin Pulec
3657dcaa2c Capture: print dev name in FPS status 2020-06-09 12:25:51 +02:00
Lukas Rucka
020cc636c2 FIX: Include MTU setting in full help 2020-04-28 13:30:08 +02:00
Martin Pulec
3f5e7b0a0a Do not rename main thread
Do not rename main thread since it renames a process as well and then it
doesn't respond to eg. killall as expected.

+ name the display thread (run if display worker doesn't require to be
  run in main thread)
2020-04-21 18:27:57 +02:00
Martin Pulec
31d80b34b9 Video display: run mainloop only if needed
Do not run the display worker in the main thread if not needed.

This would allow to run a custom mainloop (eg. from Syphon) while being able
to run a display that doesn't need to be run in the main thread.
2020-04-14 10:52:54 +02:00
Martin Pulec
f8d756d165 Windows doesn't have SIGALRM 2020-04-07 11:18:28 +02:00
Martin Pulec
9f4032abe3 Main: only notify about potentilan hang
Some modules on some hardware need considerable time to finish
(SVT HEVC ~8s, AV1 >30s) so do not force quit after fixed amount
of time. Instead display only a warning and let use kill UG manually
if needed. Since previous commit, SIGINT causes usual termination.
2020-04-07 10:33:56 +02:00
Martin Pulec
f47dede849 Main: restore signals instead of ignoring 2020-04-07 10:33:56 +02:00
Martin Pulec
86c5b6815c Removed forgotten MAX_AUDIO_CAPTURE_CHANNELS 2020-02-06 20:57:59 +01:00
Martin Pulec
1802760437 Removed no longer used MAX_AUDIO_CAPTURE_CHANNELS 2020-02-06 17:22:00 +01:00
Milos Liska
5faf5b671a --video-protocol help fix
--video-protocol help should actually print a list of available
protocols
2020-02-06 10:57:19 +01:00
Martin Pulec
ac2c262f43 Main: use formatting macros instead of rang directly 2019-11-27 11:57:27 +01:00
Martin Pulec
7ff2360e67 Video capture: print FPS generically
Centralized FPS statistics output instead of in individual vidcap
modules in order to avoid multiplicities in code.

+ removed the FPS statistics code from testcard
2019-11-27 11:40:07 +01:00
Martin Pulec
5741982aba state_uv: do not call destructor directly 2019-11-21 08:48:34 +01:00
Martin Pulec
dcdeb276ab Added 5 second timeout to prevent exit hangs
Prevents potential exit hangs.
2019-11-19 19:45:25 +01:00
Martin Pulec
64a2d4bc02 Main: exit modules before common_cleanup
In MSW, pipe is emulated over network socket (used by state_uv).
Common_cleanup, however, calls WSACleanup().
2019-11-19 19:45:20 +01:00
Martin Pulec
71efe75a3f dlclose opened libs 2019-11-19 08:22:50 +01:00
Martin Pulec
ee4646d7cc Separate function for video protocol listing 2019-11-13 16:19:55 +01:00
Martin Pulec
c0677ab2e7 Fixed Windows crash
+ be more verbose about errors
2019-11-09 13:46:52 +01:00
Martin Pulec
df5c22f430 Make should_exit callbacks signal-handler safe
Do not call non-async-signal-safe functions in signal handler. Instead
create dedicated thread for handling the callbacks that will the signal
handler only notify.
2019-11-06 20:46:58 +01:00
Martin Pulec
75fd88c7c3 Show hidden modules when fullhelp is given
+ updated copyrights in that files
2019-11-06 15:26:17 +01:00
Martin Pulec
ad31564563 Main: avoid accidental crash with invalid uv_state
Avoid a possibility that signal handler is called when either uv_state
is not yet set or already destroyed.
2019-11-06 10:31:22 +01:00
Martin Pulec
447be38b31 Allow registration of should_exit observers
This should be more correct way than using the global should_exit
variable. Moreover, the observers like capturers doesn't need to
pool the should exit variable and can send signal themselves (that
may eg. trigger a CV).
2019-11-04 07:53:08 +01:00
Martin Pulec
670c45ddf9 Added playback covering import and file
+ Moved common playback keys initialization here
2019-11-01 15:17:16 +01:00
Martin Pulec
bec25a6de3 Added audio_frame::dispose 2019-10-23 09:54:57 +02:00
Martin Pulec
ee78756239 Main: missing param in warning 2019-10-17 16:13:08 +02:00
Martin Pulec
1a85b030d5 main: name video capture thread 2019-10-11 10:21:30 +02:00
Martin Pulec
47a8a08a47 Rename JPEG compress to GPUJPEG to users 2019-10-08 17:01:08 +02:00
Martin Pulec
545f2241b8 Audio: fixed inverted -r/-s help meaning 2019-10-08 15:35:15 +02:00
Martin Pulec
9f507bfb3c Configure: rename jpeg to gpujpeg
Using jpeg for gpujpeg doesn't make much sense now so fixed this rather
legacy behavior.
2019-10-08 14:21:28 +02:00
Martin Pulec
9c7b18f117 Traffic shaper: use adapive capped bitrate
Use adaptive capped bitrate if a limit bitrate value is specified.
Previously packets were emitted exactly at the specified bitrate which
is now an optional. Now, by default, the shapper shapes equally to
a frame time or capped bitrate (if the packet rate would be lower).
2019-09-27 12:10:12 +02:00
Martin Pulec
137a7013ba Traffic shaper: parsing to function + help 2019-09-26 18:37:50 +02:00
Martin Pulec
cab4a7bf38 NDI cap.: capture audio and video independently
* this allows to capture audio only source
+ the option is available for all vidcaps
2019-09-17 10:32:51 +02:00
Milos Liska
9e39ce042a Print -c, -r, -s help directly and exit UltraGrid
It is not necessary to initialize whole UltraGrid if the user only asks
for params help. Also helpful for uv command completion.
2019-08-16 16:12:15 +02:00
Milos Liska
b976721055 Two typos fix 2019-08-16 14:59:38 +02:00
Martin Pulec
1ab1b18fb7 Key control: option to execute command with message
This allows dynamically adding key-bindings from other modules.
2019-07-24 10:56:56 +02:00
Martin Pulec
ba632fe791 Main: improved help printing 2019-06-26 16:25:49 +02:00
Martin Pulec
920c9c3c0b Sanitize input of audio capture format 2019-06-14 08:55:07 +02:00
Martin Pulec
8a45c78314 Fixed warnings
- added (const char *) attribute to param_u union to avoid casting away
  const warnings
- added also (const void *) and (volatile void *) for the rest
- there was a typo in computing requested_mtu causing violating sequence
  point evaluation order
- alsa_get_pcm_state_name: added attribute unused
- audio/utils.cpp: different signdness
- audio/utils.cpp: different signdness
- split capture filter: useless dispose_frame
- video_compress: not copying whole string (with strncpy)
2019-06-14 08:55:07 +02:00
Martin Pulec
352518a4f2 Added option to list available video codecs 2019-06-14 08:55:07 +02:00
Martin Pulec
863cf1111e Added option to list available pixfmts 2019-06-14 08:55:07 +02:00
Martin Pulec
cba809e293 Control socket: respect IP version selection
If user requests either -4 or -6 from command-line, the same value is
used for the control socket.
2019-06-07 15:13:08 +02:00
Martin Pulec
47f7d6ef25 Default to IPv4 if IPv6 not supported 2019-06-07 15:13:04 +02:00
Martin Pulec
7db96528cf Name threads 2019-05-30 11:38:05 +02:00
Martin Pulec
5ac25a242b Fixed --protocol {help|loopback} etc. behavior
With previous commit 3d69f376 this stopped to work because audio now
refuses unknown protocols.
2019-02-11 13:54:49 +01:00
Martin Pulec
9f6048e144 Added RFC 2435 compliant RTP JPEG transport
Compliant JPEGs can be now sent with SDP or RTSP.
2018-12-17 10:37:53 +01:00
Martin Pulec
0956d308df Import: do not start audio stack when no audio
This is particularly important with RFC-compliant SDP streams because
audio metadata is written in SDP file but when no audio is actually
sent, the receiving application may be confused by attemnting to
synchronize audio and video.
2018-12-17 10:37:45 +01:00