Commit Graph

4800 Commits (daaa2741a735be8fbd97efd8c9f6728884e24ca5)

Author SHA1 Message Date
jp9000 6fc74d69a9 libobs: Add functions to get logical/physical cores 2017-05-06 11:29:27 -07:00
jp9000 829ec5be2d libobs: Fix skipped frames reporting
When frames are skipped the skipped frame count would increment, but the
total frame count would not increment, causing the percentage
calculation to fail.

Additionally, the skipped frames log reporting has been moved to
media-io/video-io.c instead of each output.
2017-05-06 11:29:25 -07:00
jp9000 7c6c7bc4c0 libobs: Add random shader
Strangely, to the "Solid" effect file.
2017-05-06 11:29:24 -07:00
jp9000 f9b5da513a libobs: Fix tex.Load lookup (needs int3, not int2)
libobs' shader language is basically HLSL, and tex.Load uses an int3 for
2D textures, with texture mipmap index for the last component.  This bug
bypassed testing because the front-end automatically switches to OpenGL
if D3D11 initialization fails, and when converted to GLSL, works fine
because texelFetch only requires two components.  This also means
there's a bug in GLSL shader conversion code, because it's essentially
ignoring the third component when it shouldn't be.
2017-05-06 10:39:42 -07:00
Jim 5ad446b4b2 Merge pull request #907 from fryshorts/settings-crash-fix
UI: Fix settings dialog crashing on linux
2017-05-06 10:01:04 -07:00
fryshorts 937356cc8a UI: Fix settings dialog crashing on linux
Fix a double free in the settings window that occurs on linux only.
The UI Element already gets deleted above as a child of the
advAudioGroupBox which is not present on linux.
Apart from making the code even more unreadable, this will likely
come back to haunt us if the advAudioGroup will ever be shown on linux.
2017-05-06 15:59:41 +02:00
jp9000 e7f754df97 libobs: Use tex.Load for reverse NV12/I420 funcs
Eventually, most things should be replaced with Load where applicable
(though in some cases sub-pixel sampling is desired).

This commit also fixes a bug where NV12 async sources wouldn't render
correctly.
2017-05-06 01:24:45 -07:00
jp9000 e04ab3da7f text-freetype2: Make font lookup recursive on mac
On macs, some fonts can be in sub-folders of the font folder, and may
not properly be found.  This fixes that to detect directories and make
the lookup recursive.
2017-05-05 22:57:28 -07:00
Richard Stanway a23c009a69 Various: Optimize bundled PNG files
By losslessly recompressing and removing redundant metadata, this saves
around 910 KB.
2017-05-05 19:56:00 +00:00
Jim b0f5694181 Merge pull request #904 from cg2121/vlc-source-random
vlc-video: Add ability to shuffle playlist in VLC source
2017-05-05 09:56:53 -07:00
cg2121 7ff9510661 vlc-video: Add ability to shuffle playlist in VLC source 2017-05-05 01:04:08 -05:00
jp9000 2537f9a5e2 libobs/util: Use MoveFileEx with MOVEFILE_REPLACE_EXISTING
Ensures that it will replace an old file if it exists.
2017-05-04 18:44:15 -07:00
jp9000 ac2f792d50 libobs/util: Flush text files when writing
Helps prevent the possibility of an empty file from being written.
2017-05-04 18:24:00 -07:00
jp9000 6d3777129d libobs/util: Use os_safe_replace in safe file writes 2017-05-04 18:23:23 -07:00
jp9000 651d80c0df libobs/util: Add os_safe_replace function
Allows safely/atomically replacing a file and creating a backup of the
original.  The reason for adding this function is because Microsoft
provides a ReplaceFile function which does this in a single call.
2017-05-04 18:21:51 -07:00
jp9000 85a6d16258 libobs: Don't call unlink unnecessarily
A file rename will automatically replace the old file if an older file
exists, and will do so automatically.  Unlinking is unnecessary, and may
have a chance of preventing that move operation from being atomic.
2017-05-04 18:19:46 -07:00
jp9000 08a94072a0 UI: Always alternatively open backup scene json file
Fixes an issue where scene data would reset if the file was not found,
even if a backup file existed.  This should prevent those remaining
stray cases where user's scenes would seem to be suddenly deleted if the
original file was deleted for some reason or another.  The backup files
should always be available, so this should clear up that last remaining
case.
2017-05-04 18:17:42 -07:00
cg2121 71c5753207 UI: Add ability to output to window
Closes jp9000/obs-studio#841
2017-05-04 17:07:36 -07:00
Richard Stanway 34ee1a87c3
obs-qsv11: Fix SEI crash caused by dangling pointer 2017-05-04 21:44:42 +02:00
e00E 26c28b4502 UI: Fix warning in VisualStudio 2017
When building with VS2017 the compiler shows some warnings which is
undesirable.

The compiler rightly complains about declarations which hide older ones
which are trivially fixed.

Finally only POD types should be passed to variadic functions which is
why the String should be converted to c_str().
Relying on the current undefined behavior is a bad idea as it can change
with compilers and compiler versions.

Closes jp9000/obs-studio#902
2017-05-04 06:13:45 -07:00
e00E 4361c5bd45 UI, obs-qsv11: Fix build in VisualStudio 2017
OBS did not build out of the box in VS2017 but it does with these
changes.

Closes jp9000/obs-studio#902
2017-05-04 06:13:26 -07:00
jp9000 82d72803d6 libobs/util: Add Get function to BPtr<> 2017-05-04 05:46:29 -07:00
Jim 965e2eea9a Merge pull request #900 from cg2121/linux-scene-switcher
frontend-tools: Add automatic scene switcher for Linux
2017-05-04 05:08:17 -07:00
Palakis 2e3888abd4 UI: Add Studio Mode features in the Frontend API
With these new functions, plugin developers can enable, disable and
get the status of Studio Mode, as well as get and set the current
preview scene and transition the current preview to Program

Here is a list of the Studio Mode events:
   - Studio Mode enabled
   - Studio Mode disabled
   - Previewed scene in Studio Mode changed
2017-05-03 23:19:04 +02:00
Jim da0f3c2705 Merge pull request #889 from cg2121/drag-drop-bug
UI: Fix drag & drop bug
2017-05-03 14:17:49 -07:00
Jim 7ee643e28e Merge pull request #901 from derrod/purge-services
rtmp-services: Update ingests
2017-05-03 12:07:36 -07:00
derrod 31121a8f39 rtmp-services: Update ingests
- Remove livecoding.tv (now using per-user ingest assignment)
- Remove Connectcast.tv (Shutting down)
- Remove Cashplay.tv (Shut down)
- Remove Restream.io LA ingest (removed)
- Rename Stre.am to Stream.live and update URL
2017-05-03 20:19:54 +02:00
mntone 9efd2b87aa UI: Add option to disable audio ducking on windows
The audio subsystem of windows is by default configured to lower the
volume of other things while a communications device (mic) is currently
active.  This patch prevents that from being enabled with OBS.  If the
user needs audio ducking enabled again for whatever reason, there is now
an option to re-enable it in advanced settings.

Closes jp9000/obs-studio#884
2017-05-03 11:05:30 -07:00
cg2121 d1de03c0be frontend-tools: Add automatic scene switcher for Linux 2017-05-03 09:23:06 -05:00
jp9000 4684294bcd UI/updater: Add opt to disable building update module
Mostly to reduce build time when the update module doesn't need to be
rebuilt.
2017-05-02 03:45:20 -07:00
jp9000 6fcb77e165 libobs: Update to 18.0.2 (windows hotfix) 2017-05-02 00:50:07 -07:00
Jim f94cad4623 Merge pull request #885 from Xaymar/feature-enc-amf
enc-amf: Update to v2.1.0(.0)
2017-05-01 13:06:37 -07:00
Richard Stanway 61e2828036
win-ivcam: Fix potential null pointer dereference 2017-05-01 19:29:41 +02:00
Richard Stanway 2ae706782c
Merge branch 'new-get-graphics-offsets'
Added offsets to support Windows 10 Creator's Update
2017-05-01 16:15:16 +02:00
Michael Fabian Dirks 2172c474da enc-amf: Update to v2.1.0(.0)
* Supports both H264/AVC and H265/HEVC encoding.
* Fixed several crashes and bugs that plagued users.
* Massively reduced CPU usage caused by the plugin.
* Added settings for custom I/P/B Interval.
* Added settings for custom Frame Skipping.
2017-05-01 03:11:00 +02:00
jp9000 aa70704700 frontend-plugins: Abstract captions
Currently the captioning code is a bit intertwined with the UI, and the
captioning is hard-coded towards microsoft speech API.

This patch abstracts captions to allow other APIs to be implemented
later.
2017-04-30 08:28:07 -07:00
jp9000 1e37017d4e frontend-tools: Rename some files
Changing the name of certain captions source files so it specifies which
caption API the files are for.  "mssapi" for Microsoft's speech API.
2017-04-30 08:23:46 -07:00
Shamun 0206227b75 UI: Add command line option for starting up always on top
Closes jp9000/obs-studio#853
2017-04-30 07:49:25 -07:00
cg2121 e26f07a1c3 UI: Make sure all dialogs have close buttons
This adds close buttons to remux dialog, output timer dialog, and
advanced audio properties dialog.  I also did a small refactor of the
remux dialog so the buttons were consistent with other dialogs.

Closes jp9000/obs-studio#876
2017-04-30 06:38:33 -07:00
SoraYuki 0ea0b99aa0 obs-outputs: Always call RTMP_Init before connecting
Clears/reinitializes RTMP structure to defaults, preventing data from
potentially persisting between different connections.

Closes jp9000/obs-studio#878
2017-04-30 06:05:58 -07:00
cg2121 012b5ef6a5 UI: Display filename when dragging & dropping
After dragging and dropping a file, the source name will be the
filename.

(Jim: When dragging and dropping raw text, the raw text would then be
used as the source's name, which is bad if there's a lot of text.  It's
now been changed so that it uses the source type's display name, i.e.
"Text (GDI+)" as the source name in that case)

Closes jp9000/obs-studio#888
2017-04-30 03:37:02 -07:00
Jim f3a9d25bcc Merge pull request #893 from RytoEX/update-contrib
Update Linux kernel coding style URL in CONTRIBUTING
2017-04-30 03:06:07 -07:00
Jim 1e831ea9eb Merge pull request #894 from trwnh/patch-1
UI: Ctrl+E to Edit Transform
2017-04-30 03:05:27 -07:00
Palakis 9f3bb4a13f UI: Add front-end API functions to get/modify service
This commit adds functions to get, set and save the service and its
settings, and is plugged straight into the existing internal functions
serving this purpose

(Jim: Fixed commit message and missing newline at end of file)

Closes jp9000/obs-studio#895
2017-04-30 02:53:44 -07:00
jp9000 2e0d237341 win-capture: Fix and clarify window capture prioritization
Changes "class" prioritization to attempt to find the window either with
the same title, or the next window of the same window class (window
type), changes "title" prioritization to only find the window based
upon its title, and changes "executable" prioritization to attempt to
find the window with the same title, or the next window of the same
executable.

Additionally changes the text associated with these selections to
clarify that functionality to users.
2017-04-30 00:25:02 -07:00
Jim 54281f2e84 Merge pull request #896 from RytoEX/clean-old-updater
UI: Remove unused defines from old updater code
2017-04-26 20:22:11 -07:00
Richard Stanway 38294d6c47
win-capture: Add missing 32 bit offsets 2017-04-26 21:36:49 +02:00
Richard Stanway 35a9b2d27f
win-capture: Update get-graphics-offsets
Added support for multiple signature matching and variable offset
positions. Added support for Win7 64 bit signature for consistency.
2017-04-26 21:23:34 +02:00
Richard Stanway d4de8b9a7e win-capture: Log if shared texture capture is unavailable 2017-04-26 21:04:41 +02:00
Ryan Foster 2d80ae0231 UI: Remove unused defines from old updater code
This commit removes some define statements that were used in the updater
code before OBS Studio 18.0.0.
2017-04-26 13:09:30 -04:00