Commit Graph
1323 Commits
Author SHA1 Message Date
jp9000 7d6e6eee79 libobs: Use reference counting for encoder packets
Prevents reallocation of encoded packet data.

Deprecates:
obs_duplicate_encoder_packet
obs_free_encoder_packet

Replaces those functions with:
obs_encoder_packet_ref
obs_encoder_packet_release
2016-12-08 03:27:39 -08:00
jp9000 eb6d8e10fa libobs/util: Do not ignore deprecation on windows
On MSVC, deprecated types/functions were being completely ignored by the
compiler due to this pragma.  Any plugins/programs that depended on this
would also have this warning disabled due to it being in this file.
This pragma was most likely originally done due to the MSVC warnings for
C-standard functions, which are now ignored via _CRT_SECURE_NO_WARNINGS
on all projects instead.
2016-12-08 03:27:38 -08:00
jp9000 b29d8a44d1 libobs: Fix deprecated macro
There's no need to have two separate macros to declare something as
deprecated.
2016-12-08 03:27:37 -08:00
jp9000 ec4317dd2b libobs: Fix bug where outputs cannot initialize hotkeys
When an output's context data is being created, it cannot register any
hotkeys because the output has not initialized its reference counting
capability.  This is due to the fact that when a hotkey is registered,
it creates a weak reference to the source/output/service/encoder.

The solution to this is to make sure the output's reference counter data
is created before calling the create callback.
2016-12-08 03:27:35 -08:00
jp9000 b277000f97 libobs/util: Add function to generate formatted filenames
(Note: This commit also modifies the UI)

Being able to generate file names based upon a specification is useful
for more than just the UI; it can also be useful for things such as the
replay buffer where file names need to be generated on the fly.
2016-12-08 03:27:34 -08:00
jp9000 3aa6b50fbe libobs/util: Add function to get circlebuf data offset
Allows getting pointer to an offset at a specific index within the
circlebuf data.  Useful for iterating through circlebuf data.
2016-12-08 03:27:33 -08:00
jp9000 cf2a05ed88 libobs: Update to 0.16.6 2016-11-14 22:20:23 -08:00
jp9000 4c2a49285e Revert "libobs: Ensure AVC priority is always highest for keyframes"
This reverts commit 66525632a0.
2016-11-14 17:43:37 -08:00
jp9000 66525632a0 libobs: Ensure AVC priority is always highest for keyframes 2016-11-13 16:29:06 -08:00
Jim 9982581a4f libobs: Ensure async source sizes are always reset
If an async source is cropped on one side, then when the program is
restarted and the source is loaded from file, the async source will
start out with a width/height of zero.  This will cause the async source
to not be drawn if cropping or scale filtering is added to the scene
item, because it has to be rendered to a texture first.  However, the
source cannot reset its size until it's drawn, so it leaves it in
perpetual state of having a 0x0 size.

This fixes that problem by ensuring that the async source size is always
reset even when not being rendered.

Close jp9000/obs-studio#686
2016-11-10 00:13:06 -08:00
Jim ee5aecac01 Merge pull request #688 from reboot/fix_duplicating_scene_sources
libobs: Duplicate filters of a scene when it is is duplicated
2016-11-09 13:44:53 -08:00
Ryan Foster d516a33c60 libobs: Add Windows bitness/arch to crash handler
Commit aa899c2 (PR #603) added Windows bitness/arch to regular logs.
This adds it to the crash logs.

Closes jp9000/obs-studio#690
2016-11-09 12:44:10 -08:00
Ryan Foster 788a1e22b7 libobs: Refactor check for Windows bitness/arch
Commit aa899c2 (PR #603) added logging for Windows bitness/arch, but it
was a bit incomplete/short-sighted.  It only added that information to
the regular logs.  This commit makes it easier to retrieve that
information for other purposes, like the crash handler.
2016-11-09 12:41:07 -08:00
jp9000 9adad2ebc2 libobs: Update to 0.16.5 2016-11-07 21:04:06 -08:00
Christoph Hohmann a276b9023b libobs: Duplicate filters of a scene when it is is duplicated
When a scene is duplicated the filters on the scene were not copied to
the new scene. This causes that a temporary copy of a scene renders
differently in the program than in the preview when using studio mode.
2016-11-05 19:51:06 +01:00
jp9000 b77fdd7c9a libobs: Update to version 0.16.4 2016-11-04 05:54:02 -07:00
jp9000 5b44b1994e libobs: Update to version 0.16.3 2016-11-03 13:36:23 -07:00
Jim 7a077b311a Merge pull request #671 from reboot/fix_missing_profile_end
libobs: Fix missing call to profile_end() when encoding fails
2016-10-28 01:28:59 -07:00
jp9000 523e1ace49 libobs: Add date/time to crash handler 2016-10-27 18:39:13 -07:00
Christoph Hohmann e775abaa71 libobs: Fix missing call to profile_end() when encoding fails
The do_encode() method does not call profile_end() when encoding fails
which causes an error message about mismatching names being logged.
2016-10-24 13:44:28 +02:00
jp9000 39a91d749c libobs/util: Add Get() function to CoTaskMemPtr 2016-10-23 09:20:54 -07:00
Jim ad2550e060 Merge pull request #628 from RytoEX/master
libobs/util: Fix get_dll_ver not reporting DLL name
2016-10-09 19:46:21 -07:00
jp9000 580cfc1a95 libobs: Update to 0.16.2 2016-09-29 12:21:12 -07:00
jp9000 6d16c51cd1 libobs: Update to 0.16.1 2016-09-28 02:05:20 -07:00
jp9000 8b877f7c36 libobs/util: Fix fread_utf8 not working with files < 3 bytes
When it was checking for the BOM at the beginning of the file, it would
just return out of the function if it didn't read at least 3 bytes.
This would particularly affect text sources.
2016-09-28 02:01:30 -07:00
jp9000 8991fdc53e libobs: Update version to 0.16.0 2016-09-27 16:05:51 -07:00
Ryan Foster 87f4d586b0 libobs/util: Fix get_dll_ver not reporting DLL name
Follow-up to commit 2cf5c5f.
2016-09-24 14:14:53 -04:00
jp9000 d96092a0c9 libobs: Make sure X11_XCB is not linked with apple systems 2016-09-23 12:15:02 -07:00
jp9000 11ed262a36 libobs: Fix XGetXCBConnection link error on linux
A linker error for XGetXCBConnection started occurring after the
frontend API was added, the fix is simply to make sure libobs is
properly linking to X11_XCB.
2016-09-23 12:02:13 -07:00
Ryan Foster 300dc8838d libobs: Add downscale filter to log 2016-09-23 00:18:06 -04:00
jp9000 2cf5c5f7f7 libobs/util: Fix get_dll_ver always getting kernel32 info 2016-09-19 17:52:20 -07:00
Ryan Foster 47aa56b3e9 libobs/util: Fix Windows 10 revision detection
Sometimes the revision number isn't put in to the kernel32.dll version
information.  It's best to use the registry in this case.
2016-09-19 17:52:19 -07:00
jp9000 c99f65a0df libobs: Add property functions to mod. int/double limits 2016-09-19 07:04:00 -07:00
jp9000 0bc0db1207 libobs/graphics: Add gs_draw_sprite_subregion function
Allows rendering only a subregion of a specific sprite.
2016-09-19 07:03:57 -07:00
jp9000 6b2862fe1e Revert "libobs/util: Add index operator to BPtr"
This reverts commit 7224e8d36e.

This change was unnecessary due to the fact that indexing is already
performed automatically via the cast operator.
2016-09-14 16:59:47 -07:00
jp9000 855381fc9e libobs: Add source capability flag for deprecation 2016-09-14 16:58:15 -07:00
jp9000 bc3944301f libobs: Allow forced stop even when already stopping
Allow outputs to force a stop even when already in the process of
stopping.  If for example a stream is heavily congested and taking a
very long time to stop, this allows frontends to give the users the
option to forcibly stop the stream to make it stop as quickly as
possible.
2016-09-09 17:39:18 -07:00
jp9000 988bbc6080 libobs: Add obs_module_get_string helper function
Allows getting a translated string for the current module, returning
false if no string available.
2016-09-06 22:01:49 -07:00
jp9000 7224e8d36e libobs/util: Add index operator to BPtr 2016-09-06 04:43:52 -07:00
Ryan Foster aa899c2278 libobs: Log Windows bitness (32/64-bit) 2016-08-27 05:04:21 -04:00
jp9000 95ce556051 libobs: Add obs_get_active_fps function
Allows getting the current active framerate that the core is rendering
with.  This takes in to account any rendering lag or stalls that may be
occurring.
2016-08-22 12:05:57 -07:00
Caitlin Potter 65e738e253 libobs: Set core signal handlers to NULL after destroying
Fixes https://obsproject.com/mantis/view.php?id=595
2016-08-21 21:00:07 -04:00
Colin Edwards 0c0f6031e2 libobs/util: Use FormatMessage on error when LoadLibrary fails
Outputting a human-readable error message on library load failure makes
it a little bit easier for plugin developers to determine why a plugin
library may have failed to load (such as missing dependency), rather
than having to look up the error code each time.

Closes jp9000/obs-studio#596
2016-08-19 17:04:44 -07:00
jp9000 d305343e8b libobs: Do not enum private sources with obs_enum_sources 2016-08-19 05:44:39 -07:00
jp9000 7d5df34a6b libobs: Do not set p-frames to highest priority
P-frames were initially set as highest priority to prevent them from
being dropped (not sure what the rationale was behind this), but this
caused a problem where if there's too much congestion for whatever
reason data will continue to stay buffered, so to prevent this p-frames
should be droppable.
2016-08-13 01:24:47 -07:00
jp9000 632f0bff5a libobs: Update to 0.15.4 2016-08-08 04:57:10 -07:00
jp9000 a576439f22 libobs/util: Fix possible null pointer dereference
Never checks to see whether the source dstr is empty before copying, and
will crash if empty.
2016-08-08 04:56:26 -07:00
jp9000 a818e60706 libobs: Update version to 0.15.3 2016-08-06 20:20:14 -07:00
jp9000 e284ffd896 libobs: Limit reconnect retry interval to 15 mins max
The retry interval seconds could grow exponentially large.  Limit it to
a maximum of 15 minutes between retry intervals.
2016-08-06 20:10:18 -07:00
jp9000 50aec61d39 libobs: Log whether user is running as administrator 2016-08-06 20:00:48 -07:00