Commit graph

5060 commits

Author SHA1 Message Date
SuslikV 9bf2318654 UI: Fix conditions for redraw the stats labels
After the commit 3491487c71 obs_frontend_get_streaming_output()
returns NULL if "Start Streaming" button not pressed yet.  The code
would erroneously fail to update the recording/streaming status if
either one of them hadn't been activated yet.

Closes jp9000/obs-studio#999
2017-08-10 21:40:18 -07:00
jp9000 00f6bbe99c image-source: Fix potential crash with slideshow
If there are no slideshow items and this function is called, it would
cause a null pointer dereference.
2017-08-10 21:30:03 -07:00
jp9000 8b315186a7 rtmp-services: Always check service updates on non-windows
This is a workaround for build server cmake build issues on mac/linux.
In the future, the build servers should specify the cmake variable.
2017-08-10 08:11:27 -07:00
Gol-D-Ace 8d8c2e5a22 Update translations from Crowdin 2017-08-10 16:07:40 +02:00
jp9000 0cae0439ff obs-transitions: Rename stinger ID to prevent conflict
Prevents a conflict with potentially existing plugins
2017-08-10 07:04:56 -07:00
jp9000 a4b361de00 rtmp-services: Require cmake var to enable ingest updates
Prevents an issue where forks would continually request data from the
obsproject server for ingest updates.
2017-08-09 12:34:27 -07:00
jp9000 a625448d97 rtmp-services: Initialize mutex/dynamic array
The Twitch ingest lookup file did not initialize the dynamic array or
mutex before using.
2017-08-09 12:33:16 -07:00
jp9000 21d1658925 libobs: Update version to 20.0.0 2017-08-08 23:20:47 -07:00
Richard Stanway 043fea0ab2
UI/updater: Improved handling of failure conditions
Currently if a file is partially written to (eg, the file is opened for
writing but the write fails), the updater won't correctly roll back to the
previous version, leaving the OBS install in an inconsistent state.

We now track failed installs or hash failures on patched files with a new
STATE_INSTALL_FAILED state and properly roll back on errors.
2017-08-09 03:37:39 +02:00
Richard Stanway e59f969633
UI/updater: Restart progress bar when installing updates
When updating large files such as libcef, the patching process can take a
decent amount of time. Previously the progress bar would remain at 100%
after completing the downloads, so the user may think the updater has
frozen. Now it shows the process of the install / patching process.
2017-08-09 03:37:36 +02:00
Zachary Lund 9941ddb52c libobs: Fix a potential divide by zero crash 2017-08-09 01:07:50 +02:00
Jim c8c6f07618 Merge pull request #992 from Xaymar/enc-amf
enc-amf: Update to 2.2.2
2017-08-08 15:19:06 -07:00
Michael Fabian Dirks e74eb6491a enc-amf: Update to 2.2.2
Hotfix 2: Fixed an at-exit crash caused by an AMF trace function.
2017-08-08 23:24:02 +02:00
Jim 13542166ce Merge pull request #991 from derrod/ftl-spam
git obs-outputs: Change loglevel of ftl status thread to debug
2017-08-08 13:19:34 -07:00
derrod 512f041bed obs-outputs: Change loglevel of ftl status thread to debug
The ftl output gets very spammy (3-6 lines every 5 seconds),
this commit changes the loglevel of those messages to debug
so they do not clutter up the logs of users.

In case these messages are needed they can be re-enabled using
the '--verbose' flag.

(also fixes minor formatting issues)
2017-08-08 17:47:39 +02:00
jp9000 4821ab8ae8 obs-transitions: Fix stinger transition locale
Changes "TransitionPoint" back to "Transition Point (milliseconds)" and
adds "TransitionPointFrame" locale when frame index mode is selected.
2017-08-08 08:13:45 -07:00
Jim 3cf12feb1e Merge pull request #989 from derrod/stinger-frames
Add option to use frame instead of timestamp for stinger transition
2017-08-08 07:22:52 -07:00
derrod aa6bd58ce3 obs-transitions: Add frame transition point option to stinger
Allows the user to specify a frame instead of a timestamp for
the transition point.
2017-08-08 10:08:23 +02:00
derrod 8b3921ffbf obs-ffmpeg: Add proc handler for getting number of frames in video
Allows getting (approximate) number of frames in a media file.
2017-08-08 10:06:56 +02:00
Aidan Epstein f4a8137412 linux-capture: Watch for VisibilityNotify events
Some window managers like i3 don't issue Expose events when switching
between workspaces, but send VisibilityNotify events. This causes the
stream to freeze even when the workspace is switched back.

Related issue: #863
2017-08-07 12:33:29 +02:00
Tatsuyuki Ishi 7d1fde3529 libobs: Fix XCB keyboard mapping size calculation 2017-08-07 17:48:27 +09:00
Richard Stanway 91c292d394
UI: Show error if empty recording path specified
Same as 937ec4d but for advanced output.
2017-08-07 00:40:20 +02:00
Richard Stanway 0c0ffb341c
UI: Report more detailed output errors if available 2017-08-07 00:32:52 +02:00
Richard Stanway ca5f123030
obs-ffmpeg: Improved output error handling
Checks the output path is writable and checks for failure to start the
ffmpeg-mux subprocess.
2017-08-07 00:32:49 +02:00
Richard Stanway f9565febdf
libobs: Export obs_output_get_last_error 2017-08-07 00:32:46 +02:00
Richard Stanway 937ec4d552
UI: Show error if empty recording path specified 2017-08-06 23:59:03 +02:00
SuslikV 77ddce3f9a UI: Fix stats window geometry saving on shutdown
Possible fix for: https://obsproject.com/mantis/view.php?id=923

If you close whole application (not just stats window) it skips the
close event and thus saving of the geometry.  The Qt::WA_DeleteOnClose
was set earlier.

Closes jp9000/obs-studio#984
2017-08-06 05:41:58 -07:00
Jim abc9b94621 Merge pull request #979 from Fenrirthviti/settings-window-fix
UI: Fix settings window minimum width/height
2017-08-06 05:34:26 -07:00
Jim 5f3cd5f5ef Merge pull request #977 from RytoEX/update-autoconfig-beam-to-mixer
UI: Update service names in autoconfig wizard
2017-08-06 05:30:43 -07:00
jp9000 da3e1d974e rtmp-services: Update Switchboard ingests 2017-08-05 21:28:07 -07:00
jp9000 a2d7aa3563 vlc-video: Don't allow VLC sources to be cloned 2017-08-05 21:24:39 -07:00
jp9000 7ec07cf82d obs-x264: Remove VFR mode as an advanced option
VFR encoding mode was originally added experimentally, but in truth,
it's nothing but a detriment because it can cause wild bitrate
fluctuations.  It's still a constant framerate even when VFR mode is on
anyway.
2017-08-05 21:22:51 -07:00
jp9000 10d6c347cc UI: Move adv. audio props. to each audio config button
Instead of having an extra config button that essentially wastes
valuable window space, allow the ability to open advanced audio
properties from each audio meter config button.
2017-08-05 21:20:08 -07:00
cg2121 7549b3a092 image-source: Add "manual (hotkey)" mode to image slideshow
Allows traversing/stopping the slideshow via hotkeys.

Split from jp9000/obs-studio#976
2017-08-04 21:16:44 -07:00
cg2121 1666abe8e6 image-source: Add activate/deactivate behavior to slideshow
When the slideshow is deactivated (not shown to the stream), makes it so
that it can either continue playing regardless, pause, or restart the
slideshow when the source is activated (shown to the stream) again.

Split from jp9000/obs-studio#976
2017-08-04 21:15:23 -07:00
cg2121 7b8a56b933 image-source: Add 'loop' and 'hide on stop' to slideshow
Allows the ability to make it so that a slideshow can stop when all
items have been shown.

Split from jp9000/obs-studio#976
2017-08-04 21:12:07 -07:00
jp9000 a9e9246bde libobs: Add ability to transition to NULL source 2017-08-04 20:33:57 -07:00
Michael Fabian Dirks eecf366f80 enc-amf: Update to 2.2.1
With the newly released Driver 17.7.2, AMD fixed many reported issues and added some much wanted features:

- Pre-Pass and VBAQ are finally working,
- H265/HEVC content can distinguish between IDR- and I- Frames
- and also supports Color Range and Color Space now,
- and the 32-bit only text log crash was fixed.

And now it's time for the plugin to also be updated! This release primarily aims at adding support for AMF 1.4.4 and improving support for older drivers, with some of the recently discovered bugs and crashes fixed.

Hotfix 1: Fixed VBAQ and Pre-Pass being used with Constant QP, causing significant corruption issues and changed some default values for H265.

## Changelog
### 2.2.1
* Fixed a frame corruption bug with Constant QP caused by toggling VBAQ and Pre-Pass after it had already been applied.
* Changed the default value of 'Enforce HRD' to 'Enabled' for H265/HEVC encoding.
* Changed the default value of 'Deblocking Filter' to 'Disabled' for H265/HEVC encoding to fix corruption in strict decoders. (Premiere Pro, After Effects, Vegas, VLC (Software))

### 2.2.0
* Added support for AMF 1.4.4 and improved support for older drivers like 16.11.5 and 16.12.1.
* Fixed a memory corruption crash due to misuse of managed DirectX 11 objects.
* Fixed a frame corruption bug caused by applying 'VBAQ' and 'Pre-Pass' when using 'Constant QP' Rate Control Method.
* Fixed a string comparison bug causing Simple Output Mode to always use the Profile 'Constrained Baseline'
* Fixed a crash when enabling 'Debug' on 32-bit OBS caused by different type sizes.
* Fixed a crash with H265/HEVC caused by use of the undocumented Intra-Refresh properties.
* Changed the default value for 'Profile' to 'High'.
* Changed the default value for 'VBAQ' to 'Disabled' for improved performance.
* Changed the default value for 'Queue Size' to 8 for improved stability in spontaneous load situations.
* Changed the log crash work around to only apply to older AMF versions than 1.4.4.
* Removed unnecessary configuration changes.
* Removed unsupported Pre-Pass options 'Half Size' and 'Quarter Size'.
2017-08-04 20:00:51 -07:00
Ryan Foster 670dfdad2b UI: Update Hitbox to Smashcast in autoconfig wizard 2017-08-03 08:46:31 -04:00
Jim b78f3a31e9 Merge pull request #986 from RytoEX/fix-del-hotkey
UI: Fix Delete key not working on scenes/sources
2017-08-03 05:39:40 -07:00
jp9000 f4a1ee3658 deps/media-playback: Add concat playback support
Allows using a makeshift playlist file with media playback.
2017-08-03 02:07:58 -07:00
Ryan Foster c21d83c2f3 UI: Fix Delete key not working on scenes/sources
This commit fixes two regressions introduced by the modular UI (commit
25bb8a444f):

 - the Delete key no longer works in the scene list
 - the Delete key no longer works working in the source list

This commit also enables the Delete key on sources that were selected by
clicking on them in the preview, which addresses Mantis Bug 576
(https://obsproject.com/mantis/view.php?id=576).
2017-08-03 03:55:27 -04:00
jp9000 8a5cf99aa7 UI: Test first 3 closest Twitch ingests in auto-config
If auto is available, test the first 3 closest Twitch ingests rather
than using a region-based selection.
2017-08-02 15:13:09 -07:00
jp9000 c0b8bdf89e libobs: Log output frame count instead of encoded count
Instead of logging the relative encoded count (which is susceptible to
integer overflow), log the output frame count instead.  If there's an
issue with encoding, it'll show up when all encoding stops regardless.
2017-08-02 15:13:09 -07:00
jp9000 ba33bb7745 Revert "libobs: Fix an int underflow in log_frame_info"
This reverts commit 4e3e67bb8c.

The way this is handled will erroneously report 0 frames encoded when
frames have actually been properly encoded, which is best avoided.
Additionally, and overflow would be generated for drawn frames where
none occurred before.  The encoded value should probably not even be
present in the log for the output due to the way it's handled.
2017-08-02 15:13:09 -07:00
jp9000 72d20de8e7 Revert "UI: Add support for Twitch "Auto" server in auto-config"
This reverts commit 2604db6e40.

The API to get the closest server can be down occasionally, so instead
just revert to its previous behavior.
2017-08-02 15:13:09 -07:00
jp9000 9add73f656 rtmp-services: Remove Twtich "Auto" if API down and not cached
Prevents new users from having a poor user experience if the Twitch API
for getting the closest servers is currently down.
2017-08-02 15:13:09 -07:00
Jim 02b4ea028e Merge pull request #975 from RytoEX/update-picarto
rtmp-services: Update Picarto maximum audio bitrate
2017-08-01 03:02:47 -07:00
Michael Fabian Dirks fbefa080b0 UI: Fix incorrect properties set for Hardware (AMD)
Due to an oversight in enc-amf with strcmp, the code currently causes
certain weirdness to appear.  This fixes it so it will use "High"
Profile instead of attempting to use "Constrained Baseline" and also
changes it to actually set things up for "Constant Bitrate" instead of
"Variable Bitrate (Latency Constrained)".  Finally I've added a slight
change that always makes it set the B-Frame Pattern to 0 in order to
work better with VCE2.0 and VCE3.0 cards.

Closes jp9000/obs-studio#978
2017-08-01 03:00:42 -07:00
jp9000 2604db6e40 UI: Add support for Twitch "Auto" server in auto-config
Uses the "Auto" server automatically for Twitch rather than doing a
region-based test on multiple servers.
2017-08-01 02:50:26 -07:00