Commit Graph

5307 Commits (285d9bd6f1d966153d791b19bafb3692a220dff5)

Author SHA1 Message Date
jp9000 c5b26fe75c UI: Return false if audio encoder creation fails 2017-08-01 02:27:35 -07:00
jp9000 d98bda8fee UI: Remove trailing whitespace 2017-08-01 02:27:35 -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
Quinn Damerell 535f4a7fcf rtmp-services: Add Mixer FTL service
Adds "Mixer FTL" service and renames the original service with RTMP
servers to "Mixer RTMP".

Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
Quinn Damerell 6f8e38e0a0 obs-outputs: Add FTL output
Closes jp9000/obs-studio#980
2017-08-01 02:27:34 -07:00
jp9000 fa611dcd76 obs-ffmpeg: Add Opus audio encoder 2017-08-01 02:14:58 -07:00
jp9000 d2ffd0fdd2 obs-ffmpeg: Ensure sample rate is supported in audio encoder
Ensures that the sample rate is supported in the audio encoders, and if
not, then make it automatically resample to the closest sample rate.
2017-07-31 14:51:21 -07:00
jp9000 0089d379b0 obs-ffmpeg: Make FFmpeg audio encoder abstractable
Abstracts the FFmpeg audio encoder to allow other codecs to use the same
code, and makes the AAC encoder derived from it.
2017-07-31 14:48:20 -07:00
jp9000 58c4f0ac91 obs-ffmpeg: Rename obs-ffmpeg-aac.c file
Renames obs-ffmpeg-aac.c to obs-ffmpeg-audio-encoders.c due to the fact
that it can be abstracted for multiple audio encoders.
2017-07-31 14:29:50 -07:00
jp9000 81fa5179cd deps/file-updater: Add func to get single remote file 2017-07-31 13:56:20 -07:00
jp9000 e423492d61 libobs: Add API function to get version string
Some plugins are using the OBS_VERSION macro obs-config.h to specify the
current version, which will bake the string in to the plugin, making it
so that if the plugin is not replaced for a patch, it could potentially
have the incorrect version.  This makes it so that a plugin/frontend can
get the current version string that's baked in to libobs itself.
2017-07-31 13:52:08 -07:00
Joel Bethke 086e9cf0dc UI: Fix settings window minimum width/height
This fixes the issue presented in:

https://obsproject.com/mantis/view.php?id=885

Minimum size is changed to 700x512. I arrived at this number from testing
the minimum sizes that I felt the settings UI was still perfectly usable
and readable. Any smaller, and things became difficult to see and adjust.
As a note, this does increase the minum width of the settings window, as
the previous minimum allowed you to cut off objects and render the window
too small to be usable.
2017-07-28 11:34:26 -05:00
jp9000 8b68ccdc13 UI: Fix build issue with older linux Qt5 packages
QMainWindow::resizeDocks isn't supported on certain long-term support
distros (ubuntu trusty in particular), so instead just restore the
starting state and don't try to recalculate the ideal positioning.
2017-07-27 22:50:25 -07:00
jp9000 25bb8a444f UI: Add modular UI
Changes the UI to an adjustable user interface, allowing the user to
fully customize how the scenes list, sources list, the mixer,
transitions, and the buttons are oriented on the main window window.
2017-07-27 12:17:18 -07:00
Richard Stanway d69652503b
UI: Add "Below Normal" priority option 2017-07-26 23:45:40 +02:00
jp9000 960958a4ca UI: Fix potential crash when outputs change
If the service settings change and the output type changes, the previous
signals would attempt to disconnect after the output has been destroyed,
and subsequently that would cause a crash.
2017-07-25 19:01:29 -07:00
Ryan Foster 29e0d5bd4f rtmp-services: Update Picarto maximum audio bitrate
Remove the limit on maximum audio bitrate for Picarto.
http://help.picarto.tv/knowledge_base/topics/how-to-configure-open-broadcaster-software
2017-07-25 01:09:51 -04:00
Jim fd3791a57d Merge pull request #971 from canbal/master
rtmp-services: Add Twitter / Periscope as a service
2017-07-21 09:08:33 -07:00
Dmitry Odintsov 2a53d03d5f libobs: Fix item copying during scene duplication
When item in the old scene had only Scale Filter, texture renderer
was not created for an item in the new scene. However if the item also
had Crop set, the texture renderer was created.

Now after copying the data, texture renderer is created for the item in
the new scene when needed.

Closes jp9000/obs-studio#969
2017-07-21 08:48:05 -07:00
Michael Fabian Dirks f8b14bdb46 libobs: Ensure scene items don't have pre-multiplied alpha
Scene items would incorrectly have pre-multiplied alpha when they were
scaled with different scale filtering, when they were cropped, or when
the item itself was a scene.  This happens because the scene renders the
items to a texture in those cases, and when they are rendered to a
texture the blend function would be the default srcalpha/invsrcalpha
blend function, which would cause alpha to become pre-multiplied in the
texture's result rather than straight alpha.

This changes the behavior to directly copy the color/alpha to the
texture using the one/zero blend function instead, which makes the
resulting texture straight alpha.  (Note that you do not want to turn
off the blend mode for the same result because certain sources can have
custom drawing that may rely on blending being available)

Related Issue: https://obsproject.com/mantis/view.php?id=954

Closes jp9000/obs-studio#966
2017-07-21 08:30:14 -07:00
SammyJames 4fd66d4d1e libobs: Add post-load module callback
This allows the ability for certain types of modules (particularly
scripting-related modules) to initialize extra data when all other
modules have loaded.  Because front-ends may wish to have custom
handling for loading modules, the front-end must manually call
obs_post_load_modules after it has completed loading all plug-in
modules.

Closes jp9000/obs-studio#965
2017-07-21 08:27:31 -07:00
derrod c354551484 UI: Add --multi flag to suppress multi-instance warning
Addresses Mantis issue 927 by adding the --multi/-m flag to suppress the
warning dialog.

Closes jp9000/obs-studio#964
2017-07-21 07:51:31 -07:00
Michel 609334e427 UI: Fix problem with exporting scene collections/profiles
When exporting scene collections/profiles existing files are
not overwritten.

Closes jp9000/obs-studio#963
2017-07-21 07:46:39 -07:00
Jim ab5a2ef6bf Merge pull request #967 from derrod/update-ingests
rtmp-services: Update Twitch ingests
2017-07-21 07:43:48 -07:00
Can Bal 79fb64fdc2 rtmp-services: Add Twitter / Periscope as a service 2017-07-20 20:55:46 -07:00
jp9000 1dab263403 obs-transitions: Add stinger transition
Allows using a video file as a means of transitioning, transitioning two
targets at a specific time during the video playback.  Audio for target
A fades out to the transition point, and then audio for target B fades
in after the transition point.
2017-07-19 16:23:06 -07:00
jp9000 cffbdd6408 obs-ffmpeg: Add proc handler function to get media duration
Allows getting the duration of a video via the proc handler of the
source.
2017-07-19 16:23:06 -07:00
jp9000 3a06cb25df libobs: Add ability for transitions to render sources directly
For specific types of transitions (stingers in this case), there is no
blending done of the two targets, so wasting GPU resources rendering
them to textures is unnecessary.
2017-07-19 16:23:06 -07:00
jp9000 cb42f08d1e libobs: Add function to get current transition time 2017-07-19 16:23:06 -07:00
jp9000 e801c766c9 libobs: Add transition callbacks for starting/stopping 2017-07-19 16:23:06 -07:00
jp9000 e37f6b3bd6 libobs: Do not save hotkeys for private sources 2017-07-19 16:23:06 -07:00
derrod a6f289a128 rtmp-services: Update Twitch ingests
* Update URL of SFO ingest and moved it to proper position in list
* Added Portland
2017-07-18 02:33:20 +02:00
jp9000 d68eff6bf6 rtmp-services: Fix incorrect RTMP output ID 2017-07-17 16:44:42 -07:00
jp9000 6b66630198 rmtp-services: Don't display warning for invalid file ver.
The invalid format version warning for service files is an unnecessary
warning which isn't necessary to display because it'll automatically
fall back to the distributed version over the cached remote version.
2017-07-14 12:44:12 -07:00
jp9000 1cff1e40e6 obs-outputs: Fix a few issues with CMakeLists.txt
It's erroneously including an entire directory, including a file that no
longer exists, and the obs-outputs_HEADERS variable had a typo when used
in the add_library call.
2017-07-14 12:44:12 -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 4d1672719f rtmp-services: Allow services to override bframe count 2017-07-14 12:39:59 -07:00
jp9000 339a0686f6 rtmp-services: Add ability to specify different outputs
Allows the ability for services to specify a different output if needed.

NOTE: This should probably be considered temporary, and services within
this file that use this functionality should probably be moved out of
the file and in to a separate service.
2017-07-14 12:39:20 -07:00
jp9000 e230f77311 obs-qsv11, obs-x264: Allow bframe count overriding
Allows the ability to override bframes (useful for specific protocols)
2017-07-14 12:39:20 -07:00
jp9000 24571599db libobs: Add ability for service to specify its output type
Allows the ability to change the output type in case one service
requires a different output type.

NOTE: This should be considered a temporarily yet simple solution to a
specific problem: support for RTMP-like outputs.  This will allows
seamless integration of supporting different RTMP-like output types
within the same service.  This should probably be replaced with a more
ideal solution later, such as implementing a completely different
service type instead, when time permits.
2017-07-14 12:38:46 -07:00
jp9000 d839c77824 libobs: Add API to specify codec support on encoded outputs
(This commit also modifies obs-outputs)
2017-07-14 08:15:16 -07:00
Richard Stanway aa78b1bbee
UI: Add missing separator in mediaExtensions initializer 2017-07-12 19:54:27 +02:00
Gol-D-Ace 353a4bc824 rtmp-services: Update twitch.tv ingests 2017-07-08 00:14:49 +02:00
jp9000 ee0236be13 UI: update installer script to latest version 2017-07-05 04:31:39 -07:00
Cephas Reis f53a595ea2 obs-filters: Optimize and fix alpha in color grade filter
Closes jp9000/obs-studio#945
2017-07-02 15:45:51 -07:00
VodBox f1588daca0 UI: Ensure theme backward compat. with older OBS vers.
Deprecates "Theme" global config value and uses "CurrentTheme" instead
to ensure backward compatibility with older versions of OBS, which will
fail to load if you have a theme that isn't available.

(Jim Edit: Putting this back because I misunderstood the purpose of
jp9000/obs-studio#936)
2017-07-02 13:31:51 -07:00
jp9000 bb8e019c36 rtmp-services: Add LiveEdu (accidentally removed) 2017-07-02 12:50:56 -07:00
VodBox d1cb3a42f5 UI: Add backwards compatible theme fallback
Closes jp9000/obs-studio#936
2017-07-02 11:54:08 -07:00
jp9000 7acd3be40d UI: Change meter color to red when audio is clipping
Closes jp9000/obs-studio#738
2017-07-01 19:41:18 -07:00