Commit Graph

190 Commits

Author SHA1 Message Date
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
Martin Pulec
93a645b6c3 Disable traffic shaping over loopback 2018-12-17 10:36:20 +01:00
Martin Pulec
04de7b8d02 Added initial version of AJA display 2018-11-23 16:12:01 +01:00
Martin Pulec
a5c4ad8f63 Fixed modelines 2018-11-13 15:13:21 +01:00
Milos Liska
9298861113 Help fixes. 2018-11-07 15:35:12 +01:00
Martin Pulec
704d7d17b9 RTSP/SDP: default audio codec OPUS 2018-10-18 16:27:42 +02:00
Martin Pulec
f4be8d1d03 SDP: initial support for IPv6 2018-10-18 16:27:42 +02:00
Martin Pulec
f0c99a4005 Readded SDP
* Since RTSP is no longer working with current LIVE555, RFC-conforming
  H.264/A-law/u-law/OPUS streams can be accessed with SDP.
* experimental only (would need more effort to be robust, well written
  etc.)
* removed ifdefs from transmit relating to standard AV RTP payload
  formating
* main: added --protocol option (shortcut for --audio-protocol and
  --video-protocol)
* main: disable intra refresh in default setting for H.264 in RTSP/SDP
2018-10-18 16:27:42 +02:00
Martin Pulec
5369af6bf1 Main: pretty print output 2018-09-25 10:48:44 +02:00
Martin Pulec
97301dd47f Main: added option --protocol
shortcut for "--video-protocol <proto> --audio-protocol <proto>"
2018-09-19 13:05:49 +02:00
Martin Pulec
e6e3eb6cc0 Main: split help and fullhelp 2018-09-18 22:01:29 +02:00
Martin Pulec
fceb332703 Main: sort options alphabetically 2018-09-18 14:35:52 +02:00