Commit Graph
5658 Commits
Author SHA1 Message Date
jp9000 d13bbe6e59 libobs: Always try to update transform in current thread
Due to the recent change in which scene items now only update their
transforms during the next frame's tick, snapping sources would
sometimes jitter and have incorrect snapping.  This fixes that issue by
reverting to the behavior of updating the transform immediately rather
than deferring the update to the next frame tick, but only on non-group
items.

This should not be done on items that are sub-items of groups because we
rely on the obs_scene_item::update_transform variable to update the
parent group's transform in addition.
2018-07-24 02:41:31 -07:00
jp9000 593345a3b1 libobs: Only update scene item texture on frame tick
Instead of updating the scene item texture any time
update_item_transform() is called, only update it when
obs_scene_item::update_transform is called.  Prevents having to lock the
graphics mutex needlessly.
2018-07-24 02:41:31 -07:00
jp9000 8741bfcb8f libobs: Don't assign variables before if/return 2018-07-24 02:41:31 -07:00
jp9000 7ef3350d50 UI: Do not open properties dialog for groups
On initial creation of an empty group, do not open a properties dialog
for groups.
2018-07-24 02:41:31 -07:00
Richard Stanway cc69ec16ec obs-outputs: Update librtmp with upstream patches
Mostly security / reliability related, fixing various access to
uninitialized data, integer overflows, etc from
https://git.ffmpeg.org/rtmpdump
2018-07-23 23:22:37 +02:00
Jim 12b592ccf0 Merge pull request #1380 from derrod/discord-webhook
CI: Add AppVeyor webhook for Discord bot
2018-07-22 15:19:31 -07:00
derrod 79684316a3 CI: Add AppVeyor webhook for Discord bot 2018-07-22 23:52:57 +02:00
Jim 17426240c9 Merge pull request #1378 from derrod/discord-webhook
CI: Add travis webhook URL for Discord bot
2018-07-22 11:45:20 -07:00
derrod 414929f296 CI: Add travis webhook for Discord bot 2018-07-22 20:30:02 +02:00
jp9000 8dc2e6b5fb UI: Add signal for when theme has changed 2018-07-21 19:14:36 -07:00
jp9000 e1ab9a0fc4 UI: Add ability to parse OBSStyle from qss
Adds the ability to set the current palette for the program via adding
"OBSTheme" objects to the qss files.  The values for the OBSTheme object
are the values used by QPalette::ColorRole.

Modifying the global palette allows the ability to easily/quickly look
up application theme colors (especially if you would like to use them
for QML), as well as the ability to fix the hyperlink color issue.  (On
dark themes, links would still be dark blue, causing them to be
difficult to see)
2018-07-21 19:14:36 -07:00
Jim 8b6d437a97 Merge pull request #1374 from mixer/ftl-update
obs-output: Update ftl-sdk version
2018-07-20 23:19:33 -07:00
jp9000 310c98e641 UI: Fix bug with advanced output service settings
When the user had advanced output mode selected and they created a new
profile, enforced service settings for advanced output mode would not be
applied because GetDataFromJsonFile would return a nullptr (because the
settings file did not yet exist).  Instead of returning nullptr, always
return a valid data object, and in addition, apply the defaults of the
encoder to pass to obs_service_apply_encoder_settings just to be safe.
2018-07-20 01:57:57 -07:00
jp9000 621c519cc5 libobs: Add function to get encoder object's defaults
Rather than relying on the encoder's type identifier, additionally allow
the ability to get defaults via an encoder object.
2018-07-20 01:49:32 -07:00
jp9000 2f49bf0463 obs-browser: Fix error and warning
Fixes an error and a warning when compiling with experimental shared
texture support.
2018-07-20 00:45:08 -07:00
jp9000 730764d557 obs-browser: Update to latest version 2018-07-20 00:33:27 -07:00
jp9000 d11b05a83d libobs: Defer update of scene item texture
If the scene item crop/filtering is updated, instead of
creating/destroying the item texture on the spot, update it in the
graphics thread to prevent potential race conditions (especially when
the crop function for example could be called from within
obs_scene_enum_items in some situations, which would lock the graphics
and scene mutexes in the wrong order).
2018-07-19 00:53:30 -07:00
jp9000 01ac60c760 UI: Allow alt-cropping on bounding box scene items
Allows the use of alt-cropping on scene items that have bounding box
enabled.  The crop will simply apply to the source within the bounding
box rather than try to do anything fancy.  A simple solution to an
annoying problem.
2018-07-18 22:04:32 -07:00
jp9000 1aeb87ac52 libobs/util: Don't use assert for darray_push_back_array
Instead, just check to see whether array and num are valid, and if they
are not, safely return.
2018-07-18 18:47:44 -07:00
Bird, Christopher 3a08e858a6 obs-qsv: Allow for multiple QSV encoders
Allow multiple QSV encoders, usefull for live + recorded parallel
sessions.  The first QSV encoder will create a DirectX device and return
a handle / pointer.  Any additional QSV encoder will use that same
pointer to the DirectX device.  We keep track of the number of open
QSV encoders so that we wait to close the DirectX resources after all
encoders are closed.

Closes obsproject/obs-studio#1341
2018-07-18 17:16:01 -07:00
Quinn Damerell b5fb4d8673 obs-output: Update ftl-sdk version 2018-07-18 10:42:27 -07:00
Jim 8c910a9e3b Merge pull request #1365 from cyberhicham/patch-1
Update INSTALL
2018-07-18 01:41:27 -07:00
Jim 75d460b2e8 Merge pull request #1353 from cg2121/fix-checkable-buttons
UI: Fix stream button checkable state
2018-07-18 01:28:49 -07:00
Jim 955bc849e0 Merge pull request #1349 from Fenrirthviti/acri-fix
UI: Update Acri theme for disabled buttons
2018-07-18 01:26:51 -07:00
Jim d0c5f72048 Merge pull request #1348 from dtcooper/macos-fix-cef-path
CI: Fix CEF Path on Package Build
2018-07-18 01:26:34 -07:00
Jim 5d942a6be0 Merge pull request #1340 from RytoEX/update-sparkle-default-url
CI: Update Sparkle default base_url
2018-07-18 01:12:37 -07:00
Jim af596592db Merge pull request #1326 from admshao/transition_rename_fire_event
UI: Add missing OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED
2018-07-18 00:54:46 -07:00
Ryan Foster d4059f11c6 CI: Update Sparkle default base_url 2018-07-18 03:45:41 -04:00
Andrew Surzhynskyi bfbe9de5b5 rtmp-services: Update ingest list for Restream.io
Closes obsproject/obs-studio#1347
2018-07-17 22:50:11 -07:00
Jim 4af10547bf Merge pull request #1359 from eastkiki/master
rtmp-services: Add KakaoTV
2018-07-17 20:57:13 -07:00
Jim b41113f972 Merge pull request #1370 from nocodedweb/master
rtmp-services: Update ingest list for GamePlank
2018-07-17 20:50:15 -07:00
Joshua Rowe 849f25f910 rtmp-services: Update ingest list for GamePlank 2018-07-17 07:37:03 -06:00
jp9000 573d5719d8 UI: Fix signals for sub-items of groups
Because sub-items of groups can no longer reroute their signals to the
parent scenes of groups, delegates removal handling to SourceTreeItem
instead of OBSBasic.
2018-07-16 19:03:34 -07:00
jp9000 256b7b793d UI: Add OBSBasic::SavingDisabled() function 2018-07-16 19:03:34 -07:00
jp9000 b4f345680f UI: Allow copying/pasting of groups
Allows copying and pasting of groups.  The user can fully duplicate the
group, or create a reference of the group.  The user cannot paste a
reference of the group if it already exists within the same scene
however.
2018-07-16 19:03:34 -07:00
jp9000 5dfab20a46 libobs: Allow group duplication 2018-07-16 19:03:34 -07:00
jp9000 5993834815 libobs: Change groups to actual public types
(This commit also modifies UI)

Changes groups to their own independent type, "group".  This allows them
to be used like other regular types, and allows the ability to reference
groups in multiple scenes.  Before, a group would always be linked to
the scene it was in.  This made it cumbersome for users to modify groups
if they had a similar group in multiple scenes (they would have to
modify each group in each scene).  Making groups like other source types
makes more sense to solve this issue so they can be referenced in
multiple scenes at once.  This also removes a significant amount of
group-specific handling code required for implementing groups in the
front-end.

One limitation however: due to the way sub-items of groups are
seamlessly modifiable and sortable as part of the whole scene, the user
cannot have multiple references to the same group within one scene.
2018-07-16 19:01:51 -07:00
jp9000 f45247d5c8 libobs: Abstract resize_group to resize_scene_base 2018-07-15 19:01:34 -07:00
jp9000 8f786db5f2 libobs: Refactor creation of scenes
Allows using a different source type (I.E. "group" instead of "scene").
2018-07-15 19:01:28 -07:00
jp9000 35704c4c04 libobs: Remove group_sceneitem from obs_scene struct
(This commit also modifies UI)

Removes obs_scene::group_sceneitem and replaces it with
obs_scene::is_group.  Changes a number of other functions related to
groups so that a group is not inherently tied to a specific scene, and
helps allow a single group to be referenced in multiple scenes if
desired.
2018-07-15 19:01:14 -07:00
jp9000 2329c6f6ea libobs: Add obs_data_array_push_back_array
Allows easily/safely appending all the values of one data array to
another.
2018-07-15 17:09:02 -07:00
Hicham LEMGHARI 6e9cf7d2cb Update INSTALL 2018-07-14 08:21:00 +01:00
Shaolin 0c43448ca2 UI: Fix OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED
This event is fired during Add/Delete operations but was missing on
renaming a transition.
2018-07-09 19:08:42 -03:00
eastkiki 4b7c64ef7e rtmp-services: Add KakaoTV 2018-07-09 17:14:02 +09:00
Matthew Szatmary a8517f3698 libobs: Update libcaption library
(This commit also modifies deps/libcaption)

Closes obsproject/obs-studio#1354
2018-07-08 01:14:27 -07:00
Jim f84e490ebe Merge pull request #1355 from allenh1/fix-gcc-9-warnings
Fix GCC 9 Warnings
2018-07-07 11:52:17 -07:00
Jim b00272210b Merge pull request #1356 from TheMuso/fix-vlc-plugin-on-mac
vlc-video: Dlopen libvlccore.dylib on mac OS
2018-07-07 11:50:00 -07:00
Jim b298f707b2 Merge pull request #1357 from wahajdar/service-addition/cast.io-rtmp-ingests
rtmp-services: Adding Castr.io ingests to service list
2018-07-07 11:34:54 -07:00
Wahaj Dar 2b0a728722 rtmp-services: Adding Castr.io ingests to service list 2018-07-04 10:29:18 +05:00
Luke Yelavich ec366cfa3d vlc-video: Load libvlccore.dylib on macOS
As of version 3, libvlc on macOS is linked against libvlccore
differently. Previously libvlccore was referred to via the @loader_path
macro, now @rpath is used. As such, dlopen is no longer able to find
libvlccore. Explicitly load libvlccore so that the symbols that
libvlc needs can be found.

Tested against VLC versions 2.2.8 and 3.0.3.
2018-07-03 20:08:40 +10:00