3792 Commits

Author SHA1 Message Date
jp9000
526d390adb libobs: Reduce unnecessary logging (info -> debug)
(Note: This commit also modifies coreaudio-encoder, win-capture, and
win-mf modules)

This reduces logging to the user's log file.  Most of the things
specified are not useful for examining log files, and make reading log
files more painful.

The things that are useful to log should be up to the front-end to
implement.  The core and core plugins should have minimal mandatory
logging.
2016-08-05 18:59:32 -07:00
Jim
ed829e93ae Merge pull request #582 from Xaymar/master
libobs: Fix possible null pointer dereference
2016-08-02 12:11:22 -07:00
Michael Fabian Dirks
99b0acf4f0 libobs: Fix possible null pointer dereference 2016-08-02 21:04:55 +02:00
jp9000
4f3fc21a20 obs-outputs: Fix author for net-if.* files
These files were heavily modified but originally written by:
B. Lee <bl4@postpile.net>
2016-07-31 05:45:36 -07:00
jp9000
bf166c07f4 win-capture: Blacklist specific executables from game capture
Prevents the common problem of injecting in to certain processes and
getting the hook DLL "stuck":
- windows explorer
- steam
- battle.net
- gog galaxy
- skype
- uplay
- origin
- microsoft visual studio
- task manager
- league of legends lobby window
- windows 10 system settings window
2016-07-30 13:04:53 -07:00
jp9000
17667b8b9d win-capture: Add game capture hotkey support
Changed the first property of game capture to be a "mode" list (with
"any fullscreen window", "specific window", and "hotkey").

When hotkey mode is set, it'll add a hotkey pair to hotkey settings to
activate/deactivate game capture.  When the hotkey to activate is
pressed, it'll treat the current foreground window as the target window
similar to "selected window" mode; it'll keep trying to capture the same
window even if the window or its application closes/reopens, and will
continue to do so until deactivated via the deactivate hotkey, or until
a new window is set via the activate hotkey.
2016-07-30 13:04:53 -07:00
jp9000
383c96744e win-capture: Expose helper funcs to get win. class/title 2016-07-30 11:24:39 -07:00
jp9000
2a343955a2 UI: Add "Bind to IP" setting to advanced settings 2016-07-29 15:49:40 -07:00
jp9000
289ccee447 obs-outputs: Add ability to bind to an IP address for RTMP 2016-07-29 15:47:30 -07:00
jp9000
9ebe5349fa obs-outputs: Add Bind-To-IP wrapper functions
Allows enumerating IP addresses so you can select the adapter/IP from
which to stream from.
2016-07-29 15:47:28 -07:00
jp9000
7e8ad0a08e obs-filters: Actually define TRUE/FALSE
Doing something like '#if TRUE' when 'TRUE' isn't defined is the
equivalent to '#if 0' because the preprocessor evaluates an undefined
macro as 0/false.
2016-07-27 10:18:53 -07:00
jp9000
498051b8f0 obs-filters: Fix macro check
This should be checking true or false -- not whether it's defined or
not.
2016-07-27 10:02:12 -07:00
jp9000
71dc8d6407 obs-filters: Add comments to noise suppression filter
These comments have been added to clean up the code and make it more
clear of what the code is doing.  The code felt a bit messy, and this
should help prevent the original author of the noise suppression filter
from being lost in case he decides to modify/improve the filter.
2016-07-26 05:06:26 -07:00
jp9000
6fcb5372e9 obs-filters: Remove redundant code
This variable was always being set to that value regardless a few lines
below.
2016-07-26 04:53:46 -07:00
jp9000
155ddf8996 obs-filters: Handle timestamp jumps for noise sup. filter
When buffering audio data, we don't want to buffer audio data that may
be old.  If the audio timing jumps significant and old audio data is
buffered, clear that old data.
2016-07-26 04:50:18 -07:00
jp9000
55a5664363 obs-filters: Buffer noise suppression audio data
The noise suppression filter mistakenly operated on the assumption that
input audio data would always be in 10ms segments, and would crash if
audio data was larger than that size.

Because speexdsp operates on fixed audio frame sizes only, we must
buffer audio data to fit that frame processing size.  This creates a
troublesome situation where you must buffer around that specified frame
size.

The new steps for processing are:
1. Push audio data to input circular buffer.
2. Push number of audio frames and timestamp for that audio packet to an
   'info' circular buffer.
3. Check size of input circular buffer, and while it's equal to or above
   the speexdsp frame size (10ms for minimum latency), pop from the
   input buffer to a temporary buffer (10ms frames) and process it, then
   push that temporary buffer to the output circular buffer.
4. Peek at the front of the 'info' circular buffer.
5. If the output circular buffer frame size is equal or larger than next
   expected number of frames, pop both the info and output buffer, and
   return the audio data with the expected audio frames/timestamp.
2016-07-26 04:29:50 -07:00
jp9000
2c5aa87468 UI: Add ability to lock preview
Adds the ability to lock the preview so sources can't be edited.  This
feature is typically used in the case where the user wants to prevent
accidentally clicking and dragging on sources.
2016-07-26 01:32:43 -07:00
Simon
f3d0272f57 obs-filters: Add speexdsp-based noise suppression filter 2016-07-25 20:17:13 -07:00
jp9000
0d294cc049 cmake: Add module to find libspeexdsp 2016-07-25 20:17:13 -07:00
John Bradley
26ec2dee44 obs-x264: Fix default value type of rate_control 2016-07-22 13:30:20 -05:00
jp9000
67ac11f40e vlc-video: Fix downmixing issue
libVLC doesn't seem to provide full speaker configuration info, so when
downmixing audio from a file that had more than 2 channels, the audio
would sound wrong.

This change makes it so that libVLC does the downmixing to stereo rather
than libobs, just due to that lack of speaker configuration info.
2016-07-20 15:12:04 -07:00
jp9000
ac4bd2aa80 libobs: Add long description to properties
Allows setting a "long" description for detailed explanation of certain
properties that may need them, but don't want to display them on the
user interface by default.
2016-07-20 08:09:45 -07:00
hwdro
938943e72b obs-transitions: Add 'Luma Wipe' transition
Closes jp9000/obs-studio#558
2016-07-20 07:05:27 -07:00
Jim
e546c3fa0c Merge pull request #564 from cg2121/linux-fullscreen-projector-fix
UI: Fix fullscreen projector on Linux
2016-07-19 05:01:27 -07:00
Jim
c5835a152e Merge pull request #570 from reboot/fix_xcomposite_source_duplication
linux-capture: Add OBS_SOURCE_DO_NOT_DUPLICATE to window capture sources
2016-07-18 09:11:41 -07:00
Christoph Hohmann
83aab23242 linux-capture: Add OBS_SOURCE_DO_NOT_DUPLICATE to window capture sources
It seems that it is not possible to create multiple OpenGL textures
for the same window. When sources are duplicated in studio mode this
causes window capture sources to become black. The
OBS_SOURCE_DO_NOT_DUPLICATE flag prevents that this happens.
2016-07-18 18:05:40 +02:00
Jim
0712d2e9a1 Merge pull request #569 from reboot/fix_test_compiler_warnings
test: Fix compiler warnings about incompatible pointer type
2016-07-18 08:58:34 -07:00
Christoph Hohmann
08dd7ecc37 test: Fix compiler warnings about incompatible pointer type 2016-07-18 17:53:31 +02:00
Andrew Surzhynskyi
8fc93f6b15 rtmp-services: Update Restream.io ingests/settings
Update Restream.io ingests list and set recommended keyframe interval to
2.

(Commit edited and formatted by Jim: Fixed commit message)

Closes jp9000/obs-studio#565
2016-07-18 07:23:28 -07:00
SuslikV
2d2ca06f6d obs-x264: Don't show buffer size if buffer size off
Whether buffer size is visible is determined by the value of the "Use
buffer size" property (the "use_bufsize" setting).

(Commit edited and formatted by Jim: separated this code from the
previous commit, and gave it a proper commit message)

Closes jp9000/obs-studio#567
2016-07-18 07:18:38 -07:00
SuslikV
2fb1d18056 obs-x264: Fix settings string typo
This is why macros should be used for settings strings.

(Commit edited and formatted by Jim: separated this code from the
following commit, and gave it a proper commit message)

Closes jp9000/obs-studio#567
2016-07-18 07:14:29 -07:00
jp9000
cf983b7ccf libobs: Update version to 0.15.2 2016-07-15 13:06:11 -07:00
jp9000
7feb21572f win-capture: Update D3D9 shared texture patches 2016-07-15 13:00:21 -07:00
Jim
0c415ee12c Merge pull request #562 from tgurr/vlc-video-linux
vlc-video: Enable building the plugin on Linux
2016-07-13 00:34:17 -07:00
cg2121
21a3c3505e UI: Fix fullscreen projector on Linux
This fixes a issue on Linux, at least on Ubuntu anyway, where the title bar and unity launcher is shown when the fullscreen projector is active.
2016-07-12 20:45:51 -05:00
jp9000
2732375dba rtmp-services: Update YouTube max bitrate 2016-07-10 01:07:33 -07:00
jp9000
6eec8dc90d libobs: Update version to 0.15.1 2016-07-10 00:47:52 -07:00
jp9000
d7ed0f1976 Revert "win-capture: Track gl "swap" invocations to prevent duplicate work"
This reverts commit 4c505e7030f2f0b7dab9c51125ac45cf3c28adb1.

Reverting this for the time being due to issues with quakelive.  This
will be more thoroughly tested and hopefully added again.
2016-07-10 00:38:15 -07:00
jp9000
58265e6950 libobs: Fix null pointer dereference
How this was replicated:
- Create new VLC video source
- Add video in its properties
- Press cancel on the properties dialog to reset the settings
2016-07-09 08:14:42 -07:00
jp9000
50d98dceac UI: Don't do scene check when removing scene items
The scene check prevents the ability to remove scene items that have
been detached from their scene, which can happen when scenes are used as
scene items and the scene is deleted elsewhere.
2016-07-09 07:41:14 -07:00
jp9000
5fb9dcbaa7 libobs: Fix possible null pointer dereference 2016-07-09 07:41:13 -07:00
jp9000
6ac832fbb2 obs-filters: Fix scroll filter sampler state
When the crop filter was changed to a crop/pad filter, the sampler state
was changed to use a transparent border for the U/V addressing mode.
However, what was not realized at the time was that the scroll filter
also shared the crop effect file, and the scroll filter depended on the
old sampler state (wrap u/v).

This fixes the issue by simply setting a u/v wrap sampler state in the
scroll filter.
2016-07-08 03:03:23 -07:00
Jim
2cad0f34f7 Merge pull request #561 from dodgepong/latest-crowdin-translations
Add new Ukranian translations
2016-07-07 12:07:00 -07:00
Timo Gurr
c086aac2ea vlc-video: Fix library name searched for on Linux 2016-07-07 16:42:14 +02:00
Timo Gurr
a1ec0ecee3 vlc-video: Enable building the plugin on Linux 2016-07-07 16:24:09 +02:00
dodgepong
38a8b05e34 Add new Ukranian translations 2016-07-07 10:04:53 -04:00
jp9000
60c77d41a3 UI: Make third-party plugins use program data dirs
Makes it so third-party plugins are stored in system-local specific data
directories (except on linux, which will still use user-local data
directories for the time being)
2016-07-06 03:47:51 -07:00
jp9000
b3de68fa22 UI: Add helper functions for getting program data dir
Adds C++ functions for getting system-local specific data directories
rather than user-specific data directories
2016-07-06 03:47:51 -07:00
jp9000
4f4d7cde7e libobs/util: Add os_get_program_data_path* functions
Allows getting the system-local program data path.  Typically:

Windows:  C:\ProgramData
Mac:      /Library/Application Support
Linux:    /usr/local/share
2016-07-06 03:47:50 -07:00
Gol-D-Ace
81adb13f59 Update translations from Crowdin 2016-07-06 01:18:27 +02:00