Commit Graph

34 Commits (master)

Author SHA1 Message Date
jp9000 0b9a8aa1fd Revert service json lookup refactor in UI
Certain services have custom server lits handling which I had forgotten
about, so although it would have been nice to have this refactor, we'll
have to live with relying on the plugin properties object directly for a
while.

This also reverts obsproject/obs-studio#6530 and
obsproject/obs-studio#6683 because that change depended on this
problematic refactor code.

This reverts commits:
f2e6122881,
bc80d0ca95,
050a29da1a,
22ffc04f73,
275e510aad,
2fa5ffe4df.
2022-07-18 14:52:26 -07:00
jpark37 1dc3da4163 UI: Add "H.264" to simple hardware encoders
Hopefully stops people from assuming other video compression standards
are usable from these settings.
2022-05-06 06:11:25 -07:00
jp9000 22ffc04f73 UI: Refactor duplicated streaming page code
Moves duplicated streaming service code to its own class to make this
particular code slightly less insufferable to modify (but only slightly)
2022-04-18 12:27:29 -07:00
jp9000 2fa5ffe4df UI: Just use json directly for service lookups
This commit accomplishes three different things:

- Makes it much less difficult to communicate service settings
  between the UI and the plugin.

- Refactors some code and makes it cleaner and easier to modify to our
  needs (although there is still a lot of work to do on that front
  because of heavy code duplication issues between auto-config and the
  stream settings pane).

- Significantly reatly reduces the number of times the json file has to
  be opened and parsed.

This also kind of denotes a bit of a failure on the plugin communication
aspect. The properties system is too limited and jank for a lot of
things we would like to do at times.
2022-04-14 02:10:49 -07:00
cg2121 7b418d5be3 UI: Use std::unique_ptr for ui variables
Most ui variables were using std::unique_ptr, but not all.
Went through all of the UI code to find where they were manually
deleted.
2022-02-20 00:30:37 -08:00
Ryan Foster 0a93acbc86 UI: Fix memory leak in Auto-Configuration Wizard
If streaming and recording was selected in the Auto-Configuration
Wizard, a memory leak would occur. When obs_service_resolution appeared
elsewhere in C++ files, it used a BPtr. Use BPtr here too.
2022-01-15 22:24:00 -05:00
VodBox 3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
derrod 1e98c9a0be UI: Disable reconnect for bandwidth test
Trying to reconnect would cause a hard crash of OBS rather than going to
the failed state. Therefore disable reconnects when doing bandwidth
testing.
2021-09-10 10:26:13 -07:00
derrod 85f9a8661b UI: Enable AutoConfig bandwidth test for YT integration 2021-09-10 10:26:13 -07:00
jp9000 ebbe8d1bf9 libobs: Change service max res. to res. list
(This commit also modifies rtmp-services and UI)

Changes the maximum resolution size to a resolution list, and splits the
maximum FPS to its own function.

(Note: ABI has not been modified because the last changes still haven't
been released yet, so it's safe to modify this as long as the changes
haven't been officially released)
2020-11-13 18:22:53 -08:00
jp9000 6af26d3290 UI: Add max cx/cy/fps clamp (if service specifies) 2020-10-30 00:28:44 -07:00
Richard Stanway 7d3fa7315a UI: Miscellaneous code cleanups
Remove a few unused variables and other minor changes. No functional
differences. Issues detected by PVS Studio.
2020-09-27 19:03:21 +02:00
dgeibi 238a44333b rtmp-services: Add Nimo TV auto server 2020-07-28 11:55:18 +08:00
derrod db37cc34d5 UI: Remove Mixer integration 2020-07-22 07:47:07 +02:00
jp9000 a72a52fa38 UI: Add virtual camera to UI
Adds a virtual camera button to the main user interface.  If virtual
camera is not installed, it will not add the button.  On Windows, it
detects whether the virtual camera filters are properly registered, and
will only add the button if the virtual camera filter is confirmed
registered.

Also adds a virtual camera option to the auto-configuration wizard,
which will just simply set the user's resolution/scale to 1920x1080 at
30 FPS.
2020-07-07 06:09:59 -07:00
Jim 665180350d
Merge pull request #2657 from hselasky/improvement
libobs: Implement and use better scaling function for 64-bit integers
2020-05-21 18:07:53 -07:00
Hans Petter Selasky 0e4ea14ba1 libobs: Implement and use better scaling function for 64-bit integers
As os_gettime_ns() gets large the current scaling methods, mostly by casting
to uint64_t, may lead to numerical overflows. Sweep the code and use
util_mul_div64() where applicable.

Signed-off-by: Hans Petter Selasky <hps@selasky.org>
2020-04-05 20:27:28 +02:00
Clayton Groeneveld b3211a99ac UI: Use standard resolutions with auto-config 2020-03-25 02:23:04 -05:00
SoftArch f914b45c7a UI: Add Restream.io bandwidth test stream key param
Allows testing bandwidth via streaming without the stream activating
remotely for viewers.
2019-07-21 22:16:43 -07:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000 a0e92303f2 UI: Estimate better resolution if using NVENC
NVENC has increased its quality to bitrate ratio over the years with
recent generations of hardware, so do not increase the minimum estimated
bitrate if NVENC is chosen in the auto-configuration dialog.
2019-02-13 19:31:46 -08:00
SoftArch 88c10380e5 UI: Add support for Restream "Auto" server in auto-config
Uses the "Auto" server automatically for Restream rather than doing a region-based test on multiple servers.
2019-01-19 22:24:01 +02: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 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 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
Quinn Damerell 4581a8164a UI: Update Mixer (formerly Beam) in auto configuration
Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
jp9000 753bf20ed7 UI: Allow outputs to use different audio codecs
Allows an output to automatically specify which audio codec it requires
and use it instead of AAC.  This change is intended to be
behind-the-scenes and seamless to the user.
2017-07-14 12:44:12 -07:00
jp9000 3491487c71 UI: Allow services to use different outputs
Allows a service to specify the output it needs in order to function as
configured.

NOTE: This functionality should be considered temporary as a seamless
means of implementing support for different output types within the same
service.  Ideally, different services should be used for this
functionality.
2017-07-14 12:43:04 -07:00
jp9000 bc30c39a03 UI: Ignore first 2.5 seconds of bandwidth test
System network buffers need to be given some time to fill before
starting a bandwidth test.  This prevents the buffers from skewing with
the results.
2017-06-15 20:00:01 -07:00
jp9000 cd52679160 UI: Unlock mutex before trying to stop output
Prevents the output from hard-locking on itself when the stop call would
trigger the callback and then try to lock again.  Probably could be
solved with a recursive mutex, but at that point it's not really
necessary.
2017-05-20 12:31:57 -07:00
jp9000 fa09e6743d UI: Remove whitespace from end of autconfig stream key
Because ?bandwidthtest is being appended to the end, it would bypass
normal whitespace removal, causing the stream key to fail.
2017-05-20 11:14:59 -07:00
jp9000 ee6ca246fe UI: Actually update service for wiz. bitrate limits
obs_service_update was left out by accident in the previous commit.
2017-05-17 22:37:05 -07:00
jp9000 8dff07ad46 UI: Fix cases where wizard bitrate is not capped
Fixes some cases where the maximum bitrate might not be capped by the
service selection as it's supposed to be.
2017-05-17 22:31:02 -07:00
jp9000 4049a5a882 UI: Add auto-configuration wizard
The auto-configuration wizard is designed to allow first-time or
novice/uneducated users or to set up video and encoding settings in a
very quick and easy way.  It'll automatically perform a bandwidth test,
and/or test the user's video settings to determine the most ideal
settings for streaming and recording (assuming a 1-pc setup).
2017-05-08 02:12:03 -07:00