Commit Graph

8829 Commits

Author SHA1 Message Date
Martin Pulec
0cfdd0f2af resize_utils: removed unneeded config.h 2024-01-11 10:11:36 +01:00
Martin Pulec
025a3b5ff9 configure: default prefix /usr/local for lib555
--with-live555 must have been set always, anyways (unless installed in
/), so we may add a default value to /usr/local, which is the usual place.
2024-01-09 16:33:55 +01:00
Martin Pulec
1528b504ea RTSP: fixed leaked Destination on TEARDOWN/timeout
attributes were set to NULL without deleting the content
2024-01-09 16:20:58 +01:00
Martin Pulec
1ad7722a67 RTSP: support stream redirect
When the client doesn't call TEARDOWN (like ffplay doesn't),
the stream could not have been played until the timeout (given by
`reclamationTestSeconds`). After that (or when TEARDOWN was called),
`BasicRTSPOnlySubsession::deleteStream()` is called allowing the new
stream.

After this change, the stream can be redirected withot explicit TEARDOWN
or timeout.
2024-01-09 16:20:18 +01:00
Martin Pulec
64d088f5e7 SDP: set audio ch count 2 for Opus
According to RFC 7587, channel count must be set always to 2 (actual
channel count like mono is signalized in-band in Opus)
2024-01-08 17:18:31 +01:00
Martin Pulec
edc39dbe90 set default audio ch count to 1 for RTSP/SDP
needed for SDP
2024-01-08 17:06:54 +01:00
Martin Pulec
2e4040bc8c RTSP: disable streaming over TCP
Not implemented by UG and eg. mpv (0.36.0) requests TCP (if
`--rtsp-transport=udp` is not specified).
2024-01-08 14:57:28 +01:00
Martin Pulec
dbbb6d0963 fixed BasicRTSPOnlySubsession snprintf
Fixes the commit 580ac72e from 13th Apr 2023.
2024-01-08 14:57:09 +01:00
Martin Pulec
6e637c37cb opt protocol: old protocol opts fixes
fixed legacy --video-protocol and --audio-protocol handling
2024-01-08 11:36:16 +01:00
Martin Pulec
d722327a30 updated NEWS 2024-01-05 14:44:08 +01:00
Martin Pulec
f80943216f CI mac: if unable to umount dmg, try again
`hdiutil umount` occasionally fails with `hdiutil: create failed -
Resource busy`. Perhaps some macOS process is touching the content
of the DMG (there are some reports in different GH about
`XProtectBehaviorService` or something).

refer to GH-367
2024-01-05 10:33:53 +01:00
Martin Pulec
5b0b996164 transmit: prefix FEC ss printout with MOD_NAME 2024-01-04 10:51:32 +01:00
Martin Pulec
aaa59980a9 transmit: print symbol size always in debug2
The symbol size is printed only once (or more precisely few times,
because it is guarded by a thread-local variable and the sending may
pick a different runner). This, however, doesn't give representative
numbers when frame sizes differ (== compressed) because then may also FEC
symbol sizes so print it unconditionally at least with debug2 log level.

refers to GH-361
2024-01-04 10:44:56 +01:00
Martin Pulec
0bba07ca30 video switcher: rebased includes
- do not use confg*h (not needed)
- include sys hdrs first
2024-01-03 16:48:52 +01:00
Martin Pulec
9a2d984163 video switcher help: improve desc
wrap + notice how to actually switch
2024-01-03 16:45:47 +01:00
Martin Pulec
7bea8c0553 video switcher help: notice about pos args
Added notice about video-related positional arguments as capture filter
or audio.

\+ use color_printf where formatting macros were used (otherwise ANSI
esc sequences won't be stripped if output is not a tty)
2024-01-03 16:40:17 +01:00
Martin Pulec
6f72e8b746 video switcher: use logger instead of printfs 2024-01-03 15:41:31 +01:00
Martin Pulec
76092a31ee video switcher: refactor init
moved parse_fmt to separate fn
2024-01-03 15:39:05 +01:00
Martin Pulec
0e97fba40e lavc video: fixed crash when reinit fails
Fixed a crash in situation where compressing stream with properties A,
then B but init fails and then again A.

This can occur when using switcher for 1->2->1 when compress reconf
fails for 2. But because `saved_desc` is set if reconf succeeds and
was already set on first configure, the state is inconsistent because
partially de/configured for 2 but it looks like it is still correctly
configured to input 1 because `saved_desc` was not cleared.

refers to GH-365
2024-01-03 14:49:21 +01:00
Martin Pulec
683718a285 CI Linux FFmpeg: do not build VPL tools
tools are not required, reducing dependencies and build time

see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7386262548/job/20092516404>
2024-01-03 09:17:11 +01:00
Martin Pulec
354d169e29 CI: SVT-HEVC patch temporary workaround 2024-01-03 09:12:54 +01:00
Martin Pulec
2da425de46 make: ObjC compile cmd fix
CXX was used for ObjC compilation but with some recent autoconf update
to 2.72, CXX is set to "g++ -std=gnu++11" because clang there without
-std uses C++98, which was perhaps mishandled by the former autoconf
versions. Using CC (== gcc) corrects that.
2024-01-02 14:13:28 +01:00
Martin Piatka
20648d944a lavd: Fix SEGV on unknown sw_pix_fmt (libdav1d)
avcodec only guarantees that sw_pix_fmt is set before calling the
get_format callback. However for libdav1d the callback is for some
reason never called and sw_pix_fmt is not set.

So just use the pix_fmt if sw_pix_fmt is unset. Not sure if this is the
best fix, but it works in this case and doesn't break anything.
2023-12-18 12:55:00 +01:00
Martin Piatka
03706bc2e1 vulkan_sdl2: Size autodetect when :size=-1x-1
Useful when running without WM (#364). Perhaps we could eventually use
this behaviour for fullscreen by default (since we already do something
similar in the glfw display).
2023-12-06 13:19:57 +01:00
Martin Pulec
ad6743f268 configure.ac: removed explicit -stdlib=libc++
No longer needed and clang 15.0.0 (macOS 14, XCode 15.0.1) complains
about this.
2023-12-05 16:50:46 +01:00
Martin Pulec
5782dfd3cf CI ARM: enforce Pipewire + Vulkan (64b only) 2023-12-04 13:23:59 +01:00
Martin Pulec
9575c24b79 lavc: include config.h unconditionally
needed for PACKAGE_BUGREPORT
2023-12-04 13:06:16 +01:00
Martin Pulec
574a33da0a lavc: enable header_inserter for h264_amf
AMD RX 7600 needs this even though header_spacing is set to 1. RX 580
didn't need this.
2023-12-04 12:43:25 +01:00
Martin Pulec
acf3320143 lavc header_inserter: fixed inverted condition 2023-12-04 12:34:01 +01:00
Martin Pulec
a6088cc26c vidcap Syphon: improved includes 2023-12-04 12:34:01 +01:00
Martin Pulec
bc0c55a4a9 configure Syphon: remove check for x86_64
Syphon can build also for arm64

This reverts commit 70d3402ec1
(2021-02-03).
2023-12-04 12:33:49 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
4b981ddb50 swmix: Coverity fixes
- suppressed CID 424203 - move old audio data free outside the lock
(to indicate that network_audio_buffer is not needed to be guarded by
the lock)

- suppressed CID 424228 - assign video frame data from network buffer
in the locked section - similarly as for the above, it is actually not
guarded by the lock but this is just done to suppress the warning (and
is also shorter to assign on single line)
2023-12-01 16:02:52 +01:00
Martin Pulec
248a8e0e9a swmix: fixed including 2023-12-01 16:02:49 +01:00
Martin Pulec
f9290460a2 fixed CID 428882 2023-12-01 10:18:47 +01:00
Martin Pulec
3d0fb3e5fd simple_linked_list: replace NULL with nullptr
cstddef is not included, anyways
2023-11-30 16:35:15 +01:00
Martin Pulec
6183399199 fixed CID 424188, 42421{0,1,2,6}
COPY_INSTEAD_OF_MOVE
2023-11-30 16:05:54 +01:00
Martin Pulec
d093dbb0a9 AppRun: resolve tilde expansion (just "~/") 2023-11-30 11:26:22 +01:00
Martin Pulec
34796a0c43 vidcap file: fixed unguarded should_exit
Just use `while(true)`, should_exit is checked again few lines below
with the lock held.

fixes CID 424215
2023-11-30 10:49:49 +01:00
Martin Pulec
4b9d203510 common_preinit: move init struct
fixes CID 424214
2023-11-30 10:45:25 +01:00
Martin Pulec
2e430b4f4a gpujpeg enc: optimized includes/using 2023-11-30 10:45:21 +01:00
Martin Pulec
60520d62fd gpujpeg enc: fixed some Coverity complains
move objects instead of copy (COPY_INSTEAD_OF_MOVE)

fixed CID 42421{0,3}
2023-11-30 10:34:24 +01:00
Martin Pulec
297e77f7e4 state_video_compress_gpujpeg::push: reindent
use early return to simplify
2023-11-30 10:24:52 +01:00
Martin Pulec
88e483500d modiule dump_tree: lock currently dumped node
fixes CID 424208
2023-11-30 10:24:13 +01:00
Martin Pulec
9c30a6d658 file: sort headers properly 2023-11-30 10:07:00 +01:00
Martin Pulec
2a674d5817 module: wrap mutex [un]lock
Wrap pthread_mutex_[un]lock using debug messages (allows catch some
syncrhonization problems).
2023-11-30 09:58:17 +01:00
Martin Pulec
8b61234e9c simple_linked_list_remove: return bool
+ modernize
2023-11-30 09:38:12 +01:00
Martin Pulec
dd97abd111 audio/audio.cpp: optimized includes and using 2023-11-29 15:35:37 +01:00
Martin Pulec
869c436588 audio codec fmt: accept shortcuts
accept prefix syntax for bitrate and sample_rate
2023-11-29 15:27:33 +01:00
Martin Pulec
c66d4f3194 unit_evaluate_dbl: renamed end_ptr var
Since now we receive endptr as a parameter, it is somehow misleading to
have both endptr and end_ptr vars. Use endptr_tmp instead.
2023-11-29 15:27:32 +01:00