derrod
5a375defa8
UI: Rework recording format handling
2023-04-04 00:54:28 +00:00
Ryan Foster
a4f3eb7fcf
obs-qsv11: Log selected codec
2023-04-04 00:48:03 +00:00
Ryan Foster
6aa28c8667
CI: Specify branches for merge groups
2023-04-03 20:23:41 -04:00
Ryan Foster
a973b97036
obs-ffmpeg: Set framerate for AVCodecContext outputs
...
In avcodec.h, the docs for AVCodecContext->framerate say:
encoding: May be used to signal the framerate of CFR content to an
encoder.
OBS is designed to always output Constant Frame Rate (CFR) content.
Instead of letting this be implied, let's explicitly set the framerate
per the docs.
2023-04-03 23:28:31 +00:00
Ryan Foster
855d9cba4a
CI: Update deps to 2023-04-03 release
...
Notable changes:
* deps.ffmpeg: Update FFmpeg to a6dc92968a
* deps.qt: Backport macOS disabled combobox items fix
The FFmpeg update is to fix an issue with DTS when using b-frames with
FFmpeg NVENC. In particular, we wanted this commmit:
* https://github.com/FFmpeg/FFmpeg/commit/a6dc92968a325d331bb6dcf9b3b2248026cd1d6c
2023-04-03 23:28:17 +00:00
Ryan Foster
4454bc5d5a
CI: Enable main workflow to run on merge queue items
2023-04-03 19:04:47 -04:00
derrod
c2e66942d0
obs-ffmpeg: Allow specifying audio sample format
2023-04-03 23:37:22 +02:00
tt2468
d2902c1316
obs-ffmpeg: Compensate for invalid NVENC DTS when using b-frames
...
When using FFmpeg-based NVENC, with b-frames, and a non-1 framerate
numerator (eg. `1001/60000` aka 59.94fps), the DTS values outputted
by FFmpeg result in invalid DTS values.
Detect when using an unpatched FFmpeg build and correct the values
accordingly.
2023-04-03 16:42:31 -04:00
Richard Stanway
a781f4a887
UI: Don't std::move main in SetUndoProperties
...
main is used later in the function, making this undefined behavior.
Though we can move the scene_name string.
Detected by PVS Studio.
2023-04-03 21:47:14 +02:00
derrod
288dfd2660
UI: Remove unused uppercase format string
2023-04-03 16:18:48 +02:00
tt2468
57e6053c81
deps/media-playback: Remove unnecessary log line
...
Every time a media player instance would be initialized, it would
create a new `Set FFmpeg options:` log message. With lots of looping
media sources, this gets incredibly spammy. It's already being logged
by the media source itself, so this line is pretty much unnecessary.
2023-04-02 17:41:34 -07:00
Matt Gajownik
b620dd4c50
obs-ffmpeg: Don't use standard newlines in HTML error messages
...
Qt by default will render strings that contain new line characters as
plain text, bypassing the HTML renderer.
2023-04-02 04:09:54 +02:00
Jim
d166bee3b6
Revert "UI: Fix preview rendering order"
...
This reverts commit bb34315f90 .
2023-04-01 18:00:44 -07:00
cg2121
3a610c698e
UI: Remove UNUSED_PARAMETER where unnecessary
...
Since cpp allows removing the unused parameters from the function name,
UNUSED_PARAMETER is not needed, unless it is in an ifdef.
2023-04-01 16:54:02 -07:00
jpark37
b2a83a3145
decklink: Pass frames between threads using queues
...
Eliminates the stalls that have been seen when waiting for frame copies.
We shouldn't be copying at all ideally, but that would break the API.
2023-04-01 16:49:12 -07:00
cg2121
7475261542
UI: Fix rotation handle when source is flipped
...
The rotation handle and cursor would be drawn at the wrong spot
if the source was flipped.
2023-04-01 16:48:24 -07:00
cg2121
30682e999e
UI: Use UUIDs for QDataStream
...
UUIDs are more robust than names as they can't be changed.
2023-04-01 16:45:48 -07:00
cg2121
bb34315f90
UI: Fix preview rendering order
...
The spacing helpers were being rendered above the preview
safe areas.
2023-04-01 16:44:38 -07:00
gxalpha
2f2fc33f91
UI: Disallow closing settings without selected codec or format
2023-04-01 16:43:07 -07:00
Ryan Foster
60139cbdfe
Revert "UI: Remove bitness strings"
...
This reverts commit 64d4ae0106 .
2023-04-01 16:35:10 -07:00
derrod
7cb9f10c61
CI: Fix Steam workflow not finding win asset
2023-04-02 09:26:35 +10:00
gxalpha
240a718818
UI: Guard ResetInvalidSelection check behind Qt < 6.5.1
2023-04-01 16:25:49 -07:00
derrod
61efa3cbeb
UI: Fix replay buffer with fragmented formats
2023-04-01 16:24:40 -07:00
Richard Stanway
0f614034ca
obs-ffmpeg: Handle mux errors when writing replay buffer
...
Without this, we could continuously call signal_failure in write_packet,
crashing OBS with a stack overflow with all the error callbacks.
2023-04-01 16:21:37 -07:00
derrod
c8d274edac
UI: Only use FFmpeg compat check for external codecs
...
For all the codecs we ship with OBS we can use a hardcoded lookup
instead as the FFmpeg one is unreliable.
2023-04-01 16:19:27 -07:00
gxalpha
6fc9235b09
cmake: Enable "sortable" flag in UI for large lists
2023-04-01 16:15:41 -07:00
gxalpha
caccd86092
cmake: Sort libobs target_sources alphabetically
2023-04-01 16:15:41 -07:00
gxalpha
eaf6444236
mac-capture: Simplify coreaudio_get_device_id
...
The current method would enum though all devices looking for a matching
uid instead of directly asking for kAudioHardwarePropertyDeviceForUID.
Asking directly instead would also enable finding hidden devices that
can only be found directly via uid and not via enumerating (were we ever
to need to find such a device).
2023-04-01 16:13:17 -07:00
Asahi Lina
584de6b264
linux-pipewire: Use premultiplied alpha
...
Pipewire desktop portal capture assumes premultiplied alpha, so make
sure to use the right blend equation to make translucent pixels work
correctly.
This is still broken for emissive pixels (alpha < color) since OBS seems
to unpremultiply at some point during blending, but it works properly
for translucent pixels (emissive pixel support requires an end-to-end
premultiplied pipeline).
2023-04-01 16:11:19 -07:00
jpark37
7a3beec87b
decklink: Avoid swscale for color space
...
Any color space adjustments should be done on the GPU.
2023-04-01 16:08:54 -07:00
jpark37
e4a80d0396
decklink: Query for preroll frame count
...
Three is recommended though, so use at least that many.
2023-04-01 16:08:54 -07:00
Friedhelm Birth
b3b5e7eae8
win-dshow: Change buffering for Elgato devices
...
The default is now buffering disabled except for very old devices
accessed through virtual capture filter "Elgato Game Capture HD".
2023-04-01 16:03:33 -07:00
Ryan Foster
1be1f51635
CI: Update deps to 2023-03-30 release
...
Notable changes:
* deps.ffmpeg: Update FFmpeg to 3980415627
This update is to fix a crash when using FFmpeg NVENC. In particular, we
wanted these commmits:
* https://github.com/FFmpeg/FFmpeg/commit/0981053c294f8a0edf1a06c329574fb2ebb5d5da
* https://github.com/FFmpeg/FFmpeg/commit/916bdc0f197de7ea24d30f3f3c284e4332dd3720
2023-03-31 17:59:02 -04:00
Richard Stanway
d71fa5248f
obs-ffmpeg: Fix memory corruption during cleanup
...
We were calling avio_close on a field that might have held an
AVIOContext. This commit checks which type was allocated so we
can call the appropriate cleanup function.
2023-03-31 13:19:48 -04:00
Richard Stanway
e0f674de86
UI: Add AMD AV1 encoder to simple output mode
...
Fixes https://github.com/obsproject/obs-studio/issues/8584
2023-03-30 22:04:07 -04:00
Richard Stanway
9a24b1ad06
UI: Update Windows DLL blocklist
...
- Add Bandicam
- Add VirtualMotionCapture (unity capture)
- Add HolisticMotionCapture (unity capture)
Fixes https://github.com/obsproject/obs-studio/issues/8552
2023-03-30 21:16:35 -04:00
Simon Rost
a144a736f9
libobs: Remove dependency on Visual Studio 2019+
...
In util_uint64.h the intrinsic function _udiv128 is used.
The implementation is only available in Visual Studio 2019+
2023-03-30 19:51:08 -04:00
gxalpha
c2b4142720
CI: Update service check PR job to remove set-output
2023-03-30 19:25:14 -04:00
Ryan Foster
94cf1cd2c8
CI: Fix GitHub labels check
...
github.event.pull_request.labels contains the labels at the time the
pull_request event was triggered. Modifications made during the workflow
(or after the PR was submitted and before a CI re-run) won't show up
there. To reliably check the labels on CI re-runs, switch back to
checking the API.
2023-03-30 18:55:57 -04:00
tytan652
0315c357f6
flatpak: Remove jack2 module
...
jack2 is already part of the runtime that we rely on and we use only its
headers.
2023-03-29 19:13:58 -03:00
tytan652
f47524b5f8
CI: Remove useless toJSON in Flatpak workflow
2023-03-29 19:13:58 -03:00
derrod
aea0867945
obs-outputs: Do not strip AV1 padding for RTMP/FLV
2023-03-29 16:53:33 -04:00
derrod
d98abf8ce9
obs-ffmpeg: Enable padding for NVENC CBR modes
2023-03-29 16:53:33 -04:00
derrod
2560187611
UI: Remux fragmented containers to regular counterparts
...
Also disables record-as-MKV when using fmp4.
2023-03-29 19:17:24 +00:00
derrod
8e1cae4f02
UI: Remux mp4/mov to mp4/mov with suffix
2023-03-29 19:17:08 +00:00
derrod
624a0da302
UI: Only adjust size of properties on first draw
2023-03-29 19:16:56 +00:00
tytan652
0d9f15cf3d
UI: Improve AV1 fallbacks while changing services
...
This makes AV1 encoders fallback to their H264 counterpart rather than
just falling back to x264 while changing services.
2023-03-29 19:16:46 +00:00
PatTheMav
d5e894ebb3
deps: Fix lower version boundary for file-updater
...
Version 3.16 required for Linux compatibility.
2023-03-29 13:11:33 -04:00
PatTheMav
84057ba93d
CI: Update macOS packaging to use Xcode archiving and extraction
2023-03-29 10:31:57 -04:00
PatTheMav
a0000412fa
cmake: Add changes required to use Xcode archiving
2023-03-29 10:31:57 -04:00