Commit Graph

5213 Commits (65f81105f59fc3a800d24989fa1c1ff89d31a22b)

Author SHA1 Message Date
Wouter 65f81105f5 libobs-d3d11: Allow multiple display captures of same monitor
This commit fixes a bug that occurs on Windows 8+ when two or more
"Display Capture" sources are active that are configured to capture the
same monitor.  Only one display capture would show, while all subsequent
display captures would display nothing.

Closes jp9000/obs-studio#1142
2018-01-09 19:49:54 -08:00
Colin Edwards ed917657eb UI: Fix qpushbutton menu icon
Closes jp9000/obs-studio#1141
2018-01-09 18:36:38 -08:00
Colin Edwards 3f5c28d631 UI: Style dock widgets in dark and rachni themes
Closes jp9000/obs-studio#1141
2018-01-09 18:36:31 -08:00
Jim b7755e5376
Merge pull request #1140 from admshao/volume-meters-minus-sixty
UI: Add the -60 volume control marker
2018-01-09 18:30:54 -08:00
jp9000 a79992eae9 libobs: Fix audio issue with scene items
When a scene is added as a scene item with the same audio sources that
are already in the current scene, it would cause the current scene to no
longer output audio due to audio.

To replicate the issue, you would create two separate audio device
captures in scene 1, use add existing in scene 2 and add one of those
audio sources, then go back to scene 1, add scene 2 as a source, then
make scene 1 invisible.
2018-01-09 18:13:32 -08:00
Shaolin 9872e4d525 UI: Add the "-60" volume control marker 2018-01-09 18:55:41 -02:00
jp9000 7764848070 decklink: Default to 5.1 if invalid channel value 7
Value 7 was actually 5.1 surround mode, not 7.1.
2018-01-08 19:17:10 -08:00
jp9000 ed5ee5aae2 decklink: Fix bug with old channel formats
There were cases where the channel format could be set to 7, which used
to be a valid format but now no longer is.  If that format is set, just
use SPEAKERS_7POINT1 instead.
2018-01-08 19:04:40 -08:00
jp9000 e038bd8e55 UI: Change default theme to dark for new users 2018-01-08 17:40:24 -08:00
Joel Bethke 10b27723a3 win-capture: Change string for memory capture option
Makes it a bit more clear this option shouldn't be used unless you're on
SLI/crossfire.

In the future, something should be put in to the program that detects
laptops and warns on how to set up their adapter for efficient capture.

Closes jp9000/obs-studio#1138
2018-01-08 15:44:05 -08:00
Jim f3e456a3af
Merge pull request #1137 from SuslikV/patch-1
cmake: Add more LuaJIT lib names
2018-01-08 15:18:21 -08:00
Jim efc51b55d9
Merge pull request #1135 from Gol-D-Ace/appveyor_python
Revert "CI: Add Python path for AppVeyor"
2018-01-08 15:16:01 -08:00
Jim f5599de1d6
Merge pull request #1136 from takev/pulseaudio-default-sample-format
linux-pulseaudio: Default sample format float32le
2018-01-08 14:41:12 -08:00
Tjienta Vara 8f6d048817 linux-pulseaudio: Default sample format float32le
This pull request changes the fallback sample format for pulse-audio
to from PA_SAMPLE_S16LE to PA_SAMPLE_FLOAT32LE.

The pulseaudio plugin can handle the following sample format:
* PA_SAMPlE_U8
* PA_SAMPLE_S16LE
* PA_SAMPLE_S32LE
* PA_SAMPLE_FLOAT32LE

When an audio device advertises itself as another format, the pulseaudio-plugin
will ask pulse audio to convert to the fallback sample format.

The fallback PA_SAMPLE_S16LE is not ideal when your audio interface advertises
as PA_SAMPLE_S24LE since the conversion will lose precision.
With PA_SAMPLE_FLOAT32LE there is no precision loss and it is also equals OBS's
internal format.
2018-01-08 19:31:09 +01:00
SuslikV aa2055ea81
cmake: add more LuaJIT lib names
Makes building on Windows easier.
2018-01-08 18:07:08 +02:00
Gol-D-Ace ad80ab9c9c Revert "CI: Add Python path for AppVeyor"
This is not necessary with the updated pre-built windows dependencies.
This reverts commit 516e9daa1c.
2018-01-08 05:42:02 +01:00
jp9000 9b9d57a7ee frontend-plugins: Add "Description" string 2018-01-07 20:07:42 -08:00
jp9000 ba2c54f1fd frontend-plugins: Remove unused strings 2018-01-07 20:07:42 -08:00
Jim 338cc3b29c
Merge pull request #1134 from Gol-D-Ace/appveyor_python
CI: Add Python path for AppVeyor
2018-01-07 19:25:38 -08:00
jp9000 96f481294b cmake: Fix copying lua51.dll (luajit) dep on windows 2018-01-07 19:21:35 -08:00
Gol-D-Ace 516e9daa1c CI: Add Python path for AppVeyor 2018-01-08 03:57:15 +01:00
jp9000 2651d076db deps/obs-scripting: Fix swig/python lookup on windows
Fixes swig/python dependencies to search for the pre-compiled deps on
windows.
2018-01-07 17:47:55 -08:00
Jim 26a471b65a
Merge pull request #1107 from admshao/pulse-fix-mantis-0001076
libobs: Fix pulseaudio monitor playback stuttering
2018-01-07 16:25:29 -08:00
Jim e7aab8b4b8
Merge pull request #1128 from takev/volume-meters
UI: Rework volume-meters, adding more information
2018-01-07 13:57:21 -08:00
Shaolin 9de1ffe32b libobs: Fix pulseaudio monitor playback stuttering 2018-01-07 19:27:58 -02:00
Jim ed00d7402f
Merge pull request #1132 from admshao/fix-Wint-in-bool-context-warning
libobs: Fix for int-in-bool-context-warning
2018-01-06 23:06:22 -08:00
Shaolin 78961818f8 libobs: Fix for int-in-bool-context-warning
The 'bool private' variable was receiving either OBS_SCENE_DUP_PRIVATE_COPY or
OBS_SCENE_DUP_COPY hence always being true.
2018-01-07 00:26:55 -02:00
Jim 9131d58069
Merge pull request #1131 from derrod/update-ingests
rtmp-services: Add Twitch Helsinki ingest
2018-01-06 13:18:19 -08:00
derrod 9c8acf127b rtmp-services: Add Twitch Helsinki ingest 2018-01-06 22:16:32 +01:00
Jim 93a96a0603
Merge pull request #1117 from takev/v4l2-add-resolutions
linux-v4l2: Add 4k and 21:9 resolutions
2018-01-06 12:33:22 -08:00
Jim 932ff14cd4
Merge pull request #1109 from MattMcNam/fix-double-confirm-dialog
ui: Fix unsaved changes dialog showing twice
2018-01-06 09:42:12 -08:00
Jim 09049bdbc0
Merge pull request #1118 from admshao/multiview-click-to-change
UI: Add Click capabilities and Multiple Layouts to Multiview
2018-01-05 22:52:29 -08:00
Jim 05a8969439
Merge pull request #1120 from pkviet/ffmpeg
obs-ffmpeg: Fix ffmpeg output recording in x264
2018-01-05 16:47:07 -08:00
Jim 98d291c037
Merge pull request #1122 from SuslikV/patch-5
libobs: Fix incomplete struct in scaler call
2018-01-05 16:00:54 -08:00
Matt Morrissette 5cf11d6726 obs-outputs: Fix FMS auth with query string
Fix FMS authentication to support RTMP connection URLs that have a
query string parameter already.

Closes jp9000/obs-studio#1105
2018-01-05 15:52:14 -08:00
Matt Morrissette 5e741b8a5b UI: Add frontend API funcs for enabling/disable preview
Closes jp9000/obs-studio#1106
2018-01-05 14:57:53 -08:00
Jim 619618ac8d
Merge pull request #1129 from Fenrirthviti/help-menu
UI: Add help portal link to help menu
2018-01-05 14:08:35 -08:00
pkviet d5140e9206 mac-capture: Update fix for Soundflower
Some audio devices do not have a fixed number of channels.  For example,
Soundflower.  This was previously fixed by defaulting the speaker layout
to stereo.  With surround sound support, the default has been changed to
the output speaker layout as set in Settings > Audio.

Closes jp9000/obs-studio#1110
2018-01-05 13:48:52 -08:00
pkviet 974e64eb23 decklink: Add 2.1 & 4.1 surround layouts
The list of channel layouts available for decklink input is missing 2.1
& 4.1 layouts.  The commit adds them.  This aligns the decklink input
with the speaker layouts available at outputs.  Having different layouts
as input and output invokes FFmpeg resampler, which remixes the channels
in non trivial way except when downmixing to stereo.  This patch allows
to avoid such uncontrolled remix of channels with decklink input.
2018-01-05 13:44:57 -08:00
pkviet 292ad0fe97 coreaudio-encoder: Surround sound improvements
The core audio aac encoder has bitrates maps specific to speaker
layouts.  Previously, the bitrate map maxed at 320 kbs and was the map
for stereo.  The bitrate map is now tailored to the speaker layout.  In
practice this unlocks higher bitrates.  For instance up to 960 kbs for
7.1.  Additionally the commit fixes a bug with 2.1 with channels not
ordered correctly.
2018-01-05 13:44:57 -08:00
pkviet c5e14456ca obs-libdk: Unlock bitrates for surround layouts
Bitrate map was previously maxed at 256 kbs which is OK for stereo.
This commit enables up to 1024 kbs which can be used for surround
channel layouts.
2018-01-05 13:44:22 -08:00
Shaolin abc26b87fe UI: Add Multiview Layout Options 2018-01-05 19:26:30 -02:00
Shaolin 864caee16c UI: Add Single/Double click options to Multiview
The click to select scenes follows the same rules
as the main UI. The double click respects the option
under Settings -> General -> Studio -> Transition
to scene when Double Clicked.
2018-01-05 19:25:08 -02:00
Joel Bethke 2959b22bfb UI: Add help portal link to help menu 2018-01-05 15:20:39 -06:00
pkviet 67e48ecc2c libobs/media-io: Replace quad with 4.0
(also obs, deps/media-playback, libobs/audio-monitoring, decklink,
linux-alsa, linux-pulseaudio, mac-capture, obs-ffmpeg, win-dshow,
win-wasapi)

Default channel layout for 4 channels is 4.0 in FFmpeg.
Replacing quad with 4.0 will improve compatibility since FFmpeg has
better support of its default channel layouts.
2018-01-05 09:48:52 -08:00
pkviet fb580535c9 libobs/media-io: Clean surround API
(also modifies obs-ffmpeg, audio-monitoring, win-wasapi, decklink,
obs-outputs)

Removes speaker layouts which are not exposed in UI.  The speaker
layouts selectable by users in the UI are the most common ones.  It is
not necessary to keep other layouts.  (This basically removes
5POINT1_SURROUND, 7POINT1_SURROUND, SURROUND =3.0).
2018-01-05 09:47:59 -08:00
Tjienta Vara 50ce228455 UI: Rework volume-meters, adding more information
The following features have been added to the audio-meters:
 * Stereo PPM-level meter, with 40 dB/1.7s decay rate.
 * Stereo VU-level meter, with 300 ms integration time.
 * Stereo Peak-hold meter, with 20 second sustain.
 * Input peak level color-squares in front of every meter.
 * Minor-ticks for each dB.
 * Major-ticks for every 5 dB.
 * Meter is divided in sections at -20 dB and -9 dB.

The ballistic parameters chosen here where taken from:
 * https://en.wikipedia.org/wiki/Peak_programme_meter (SMPTE RP.0155)
 * https://en.wikipedia.org/wiki/VU_meter

In the rework I have removed any ballistic calculations from
libobs/obs-audio-controls.c making the calculations here a lot more
simple doing only MAX and RMS calculations for only the samples in
the current update. The actual ballistics are now done by just
the UI/volume-control.cpp because ballistics need to be updated
based on the repaint-rate of the user-interface.

The dB to pixel conversion has been moved from
libobs/obs-audio-controls.c to UI/volume-control.cpp as well to reduce
coupling between these two objects, especially when implementing the
major- and minor-ticks and the sections.

All colors and ballistic parameters are adjustable via QT style sheets.
There are slight differences in colors for each of the themes.
2018-01-05 11:01:25 +01:00
Jim 2c20d42815
Merge pull request #1111 from derrod/update-ingests
rtmp-services: Add Twitch Salt Lake City ingest
2018-01-04 20:43:45 -08:00
J.D. Purcell 459da1c863 obs-filters: Fix heavy distortion in Noise Suppression filter
Noise Suppression: Clamp sample values before converting to integer.
This fixes an issue where samples exceeding full scale would overflow,
resulting in heavy distortion.

Closes jp9000/obs-studio#1113
2018-01-04 20:41:01 -08:00
SuslikV c706742097 libobs: Fix scene filter duplication
Scene filters were not being copied when a scene was duplicated with
obs_scene_duplicate.

Closes jp9000/obs-studio#1104
2018-01-04 20:36:11 -08:00