501 Commits

Author SHA1 Message Date
BtbN
415a698bac Add support for build time dependency copying 2014-07-19 01:38:42 +02:00
BtbN
38c2fc87aa Move all data into the subdir it belongs to
Completely removes the build dir in favor of cmake based build layouting
2014-07-19 01:38:41 +02:00
BtbN
973435cb52 Move config include path, so it works for the exported target 2014-07-17 21:32:31 +02:00
BtbN
3b26db389d Fix Jansson dependency importing 2014-07-17 18:13:25 +02:00
jp9000
5da8d14570 Fix update checck bug
Fix bug where updates for windows would check for mac updates and vise
versa.

(I am ashamed)
2014-07-17 07:03:27 -07:00
jp9000
a5a7ba4650 Update to 0.4.1 2014-07-17 06:25:37 -07:00
Palana
bd2b4c91b6 libobs/media-io: Handle VIDEO_CS_DEFAULT in video_format_get_parameters 2014-07-16 22:39:00 +02:00
HomeWorld
6b284d9e58 Fix audio meters so that volume is applied linearly. 2014-07-14 21:12:53 +03:00
HomeWorld
336c3821fc Corrected a math mistake in obs_source.c calc_volume_levels. 2014-07-14 19:24:04 +03:00
jp9000
f801348a33 Add MAKE_SEMANTIC_VERSION macro 2014-07-13 23:55:46 -07:00
jp9000
73c7248cdb Fix 'missing braces' warning 2014-07-13 12:44:33 -07:00
jp9000
115d8da4bd Update version to 0.4.0 2014-07-13 12:38:44 -07:00
jp9000
70559b98a0 Fix bug where bmem.h wasn't always included 2014-07-13 11:34:56 -07:00
Palana
850d92bac0 libobs: Add config_has_(user|default)_value functions
Similar to obs_data_has_(user_value|default|autoselect), these allow
library users to distinguish between user config values and default
values
2014-07-13 19:10:38 +02:00
jp9000
893746f487 Log audio/video settings 2014-07-13 05:02:44 -07:00
jp9000
dde9caface Fix potentially dereferenced null pointer 2014-07-13 05:01:53 -07:00
jp9000
413641a11f Log when any libobs objects are created/destroyed 2014-07-13 05:01:02 -07:00
jp9000
322f148c9c Remove duplicate include 2014-07-13 02:59:14 -07:00
jp9000
1570e53364 Add obs_encoder_getname function 2014-07-13 02:58:55 -07:00
jp9000
0c135d9804 Remove duplicate function declaration 2014-07-13 01:21:20 -07:00
jp9000
52c0d223fd Change dstr_init_strref to dstr_init_copy_strref 2014-07-13 01:20:53 -07:00
jp9000
a27f2fbb3a Fix potentially uninitialized variable warnings 2014-07-12 11:59:46 -07:00
jp9000
f675c8029f Fix 'unused parameter' warnings on windows 2014-07-12 11:59:07 -07:00
Palana
9e65c1af78 Log OS name and version on OSX 2014-07-12 20:33:58 +02:00
Palana
75bba68a03 Fix obs-cocoa CPU cores log output
According to http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-2a-manual.html
the cores_per_package and logical_per_package returns the maximum number
of (logical) cores addressable per package instead of the actual number
of (logical) cores
2014-07-12 20:33:58 +02:00
jp9000
ad6b70e938 Add null pointer checks to platform functions
It's a sad day when I realize that I did not add any null pointer
checking to any of the functions in this file.  Discovered it while
checking all the different languages, happened when there was a missing
locale file for a certain module that hadn't had the language uploaded
yet.
2014-07-12 04:48:16 -07:00
jp9000
76ff395aed Log system information on startup 2014-07-12 00:31:42 -07:00
jp9000
aed8f54f1a libobs: Add macro for default module locale
These macros are used as easy helper functions to load/unload module
locale that's based upon the text_lookup system.  You simple place the
OBS_MODULE_USE_DEFAULT_LOCALE macro once in the module, call
OBS_MODULE_FREE_DEFAULT LOCALE in obs_module_unload, and then
call obs_module_text anywhere in your module where you need to look up
text.

By default, it will look for a locale directory in your module's data
directory, and look for language files within it (INI locale format)
2014-07-11 17:26:24 -07:00
jp9000
ac760efb57 libobs: Add function for default module locale
This function is used to simplify the process when using the default
locale handling for modules.  It will automatically search in the plugin
data directory associated with the specific module specified, load the
default locale text (for example english if its default language is
english), and then it will load the set locale on top of the default
locale, which will cause text to use the default locale if the desired
locale text is not found.
2014-07-11 17:26:23 -07:00
Jim
83c041e14f Merge pull request #152 from BtbN/cmake_fixes
Cmake fixes
2014-07-10 20:43:23 -07:00
Timo R
85fd6863e2 Fix missing initialization
Found by compiling with gcc 4.8, which shows a warning for use in the
inlined function called in that function.

Closes #155
2014-07-10 18:17:06 +02:00
BtbN
d09f6dae1f Don't hardcode include directory for plugins 2014-07-10 14:38:46 +02:00
Timo R
a53c75f67e Add forgotten obs.hpp header to CMakeLists 2014-07-10 14:37:50 +02:00
jp9000
6e4a79a640 libobs: Use the correct module unload function 2014-07-09 20:44:12 -07:00
jp9000
3d1c132989 Add statistics functions to outputs
Total bytes, total frames, and frames dropped.  Total frames is
generated automatically, but total bytes and total dropped frames are
returned via callbacks.
2014-07-06 17:36:44 -07:00
jp9000
64074e9fda Add counting of total video frames to outputs
Before it would assign the encoder/media callbacks directly to the
output's callbacks, so instead of doing that, it now goes through
intermediary functions for the sake of counting the frames.
2014-07-06 17:36:44 -07:00
jp9000
41f1ad32f2 Remove unused function 2014-07-05 16:16:32 -07:00
jp9000
b060d86614 If reconnecting, ignore the disconnect code
Usually if you are reconnecting after network outage, it will give a
different code (such as OBS_OUTPUT_CONNECT_FAILED).  So, if already
reconnecting, ignore the code unless it's OBS_OUTPUT_SUCCESS.
2014-07-05 15:01:10 -07:00
jp9000
0781d86a2b Implement CPU usage monitoring functions 2014-07-04 23:03:26 -07:00
jp9000
6db5458f22 Define magickcore macros to remove warnings 2014-07-04 11:34:15 -07:00
jp9000
9fc05e2a1d Set default values for blend state structure 2014-07-03 14:19:34 -07:00
jp9000
57cfd4f991 Implement function to reset blend state
I was implementing a pushing/popping attributes function like with GL,
but I realized that for our particular purposes (and actually for most
purposes) its usage was somewhat..  niche.  I may still implement
pushing/popping of attributes in the future, though right now I feel
using a function to reset the state is sufficient for our purposes.
2014-07-03 14:11:30 -07:00
jp9000
d4cf9db638 Remove unnecessary context initialization code
There was no need to call the context free function in the
initialization function, and it's safer to just initialize the memory to
0 before using (which also negates the need for da_init)
2014-07-02 21:05:46 -07:00
jp9000
87475cdf89 Add rename cache for thread safety
This just ensures that if an obs object is renamed that the pointer to
older names will still be valid.  Prevents renames from causing any
invalid memory access.

When the obs object is destroyed, so are the cached names.
2014-07-02 20:58:30 -07:00
jp9000
4f2a731acf Implement reconnecting
The core itself now provides reconnection options (enabled by default, 2
second timeout between reconnects, 20 retries max until actual
disconnection occurs).  This will make things easier for both module
developers and UI developers.

Reconnecting treats the stream as though it were still active, and
signals are sent when reconnecting and upon successful reconnection.

Need to implement user interface information for reconnections.
2014-07-02 20:39:39 -07:00
jp9000
267af930ab Add obs_output_getname
This will get the user-defined name of the output (if any)
2014-07-01 16:29:38 -07:00
jp9000
c7bb73fe07 Implement high encoder CPU usage handling
This implements the 'frame skipping' mechanism to forcibly cause frames
to be duplicated in order to reduce encoder complexity so the encoder
can catch up to the video, otherwise it will continue to be
progressively behind and will cause a desync of the video.

Typically, if a user gets this issue, they should turn down their
settings.  For the love of god do not tell them that 'frames are
skipping', just tell them that CPU usage is high, and that they should
consider turning down their settings.
2014-07-01 11:01:22 -07:00
jp9000
dc27cb2051 Add signal for renaming sources 2014-06-30 00:05:35 -07:00
jp9000
d098087b06 Set default blend function to srcalpa/invsrcalpha 2014-06-29 11:43:52 -07:00
jp9000
7e06af1aa8 Don't use swscale if format is supported 2014-06-29 10:57:20 -07:00