Commit Graph

2060 Commits (b8055ed9442eb3ba9fd2c81bdb04c7e520b9a3ea)

Author SHA1 Message Date
Palana 94a93abb2b (API Change) Pass data to get_properties when possible 2014-10-01 15:39:57 +02:00
Palana 74c4932184 Sort obs_data_items by name
This allows for easier comparison between two obs_data_t and it will make

const char *json1 = obs_data_get_json(data);
obs_data_t *data_ = obs_data_create_from_json(json1);
const char *json2 = obs_data_get_json(data_);

produce the same string in json1 and json2
2014-10-01 15:32:49 +02:00
BtbN 8841ea8a6f cmake: Export plugin data destination 2014-09-27 09:41:32 -07:00
BtbN f24f53ea27 cmake: Add helper function to install plain files 2014-09-27 09:41:32 -07:00
BtbN 73d3dbf947 cmake: Change obs helper macros to functions 2014-09-27 09:41:31 -07:00
BtbN 599febcb54 cmake: Replace FFMpeg modules with single module
Now using components instead of one find_package call per module
2014-09-27 09:41:13 -07:00
BtbN c9d3c6c8c1 cmake: Refactor growing list of library locations 2014-09-27 09:40:45 -07:00
BtbN 9dd341a3ed cmake: Properly check for Threading support 2014-09-26 22:52:30 -07:00
jp9000 41fad2d1a4 (API Change) Use const params where applicable
This Fixes a minor flaw with the API where data had to always be mutable
to be usable by the API.

Functions that do not modify the fundamental underlying data of a
structure should be marked as constant, both for safety and to signify
that the parameter is input only and will not be modified by the
function using it.
2014-09-26 17:23:07 -07:00
jp9000 05ac1aea2c Do not modify gs_init_data parameter in gs_create 2014-09-26 16:31:20 -07:00
jp9000 05f89f48ea Ensure num_backbuffers > 0 in gs_swapchain_create 2014-09-26 16:31:20 -07:00
Jim 3b91247f4b Merge pull request #271 from GoaLitiuM/master
Fixed NULL pointer dereferencing in linked lists
2014-09-26 15:45:22 -07:00
GoaLitiuM 10f5d7f3aa Fixed NULL pointer dereferencing in linked lists 2014-09-27 01:35:36 +03:00
Jim d17565afc8 Merge pull request #270 from jp9000/remove-type-pointers
Remove type pointers
2014-09-26 07:22:23 -07:00
jp9000 0ef7a3f3d0 libobs-opengl: Fix styling (80 column limit) 2014-09-25 21:48:16 -07:00
jp9000 c9df41c1e2 (API Change) Remove pointers from all typedefs
Typedef pointers are unsafe.  If you do:
typedef struct bla *bla_t;
then you cannot use it as a constant, such as: const bla_t, because
that constant will be to the pointer itself rather than to the
underlying data.  I admit this was a fundamental mistake that must
be corrected.

All typedefs that were pointer types will now have their pointers
removed from the type itself, and the pointers will be used when they
are actually used as variables/parameters/returns instead.

This does not break ABI though, which is pretty nice.
2014-09-25 21:48:11 -07:00
jp9000 4a06960188 Basic UI: Add "Use Constant Bitrate" advanced option.
It's better to use VBR for local recordings, so this option should be
nice for people who want to do that.
2014-09-24 21:22:50 -07:00
jp9000 fd64fbb2f4 Basic UI: Remove "CPU" from "x264 CPU Preset" text
I feel like people keep mistaking how x264 preset functions.  They often
associate it with their own CPU speed, and I feel the name does not help
with that issue.  I think it may be for the best to just take it out.
At best, it will keep people away from using it unless they know what
they're doing, and at worst, people at least won't be able to associate
it with their CPU as easily anymore.
2014-09-24 21:20:41 -07:00
jp9000 ecc102fc51 Basic UI: Clarify "advanced encoder settings" text
Change checkbox with text "Advanced Encoder Settings" to "Use Advanced
Encoder Settings".  This way it will hint that the settings will be
disabled when unchecked.
2014-09-24 21:13:28 -07:00
jp9000 d753cee1e7 win-dshow: Update libdshowcapture to 0.3.3
Adds full support for the HD-PVR Rocket
2014-09-23 04:56:39 -07:00
jp9000 46c0dd7ffb win-dshow: Change FFmpeg MPGA decoder
Apparently MPGA is equivalent to MP2, not MP1.
2014-09-23 04:56:33 -07:00
jp9000 1ccc03308d win-dshow: Add debug macros for logging timestamps 2014-09-23 04:56:32 -07:00
jp9000 5fb149a48c Add more search directories for cmake modules
I actually did this because it makes it a bit easier to use with a
build from cross-compiled windows FFMpeg/x264 DLLs.  When compiling on
linux I just have it compile to a custom prefix directory for the
specific windows arch, then I just copy the arch dir back to my windows
HD when complete.  Adding this to the cmake allows me to use the compile
arch directories directly without modification.
2014-09-23 04:56:32 -07:00
jp9000 3937f47954 Add *32 and *64 build directories to gitignore. 2014-09-23 04:56:31 -07:00
Jim 34e2b77c0f Merge pull request #266 from fryshorts/v4l2-input
Fix device capabilities checking and add "Leave unchanged" option for all settings.
2014-09-22 11:53:05 -07:00
jp9000 732d24caa1 Remove unused variables 2014-09-19 18:46:25 -07:00
jp9000 3967c6354a Replace ARB_separate_shader_objects extension
This replaces the ARB_separate_shader_objects extension with traditional
linked shaders.  I was able to get the existing system to use linked
shaders without having to change any libobs graphics API.

This essentially creates a linked list of shader programs with
references to the shaders they link.  Before draw, it searches that
linked list for a particular pixel/vertex shader pair, and the linked
program associated with it.  If no matching program exists, it creates
the program.
2014-09-19 18:23:51 -07:00
John Bradley 6ff5a3ab2c Fix APPLE -> __APPLE__ def in interaction gui 2014-09-17 12:09:26 -05:00
John Bradley c62a0059ed Set proper source relative X,Y coords on wheel interaction 2014-09-17 12:05:49 -05:00
John Bradley 3b0fa22f8a Move raw pointer usage/delete to RAII in interaction 2014-09-17 11:01:54 -05:00
John Bradley 688af46664 Remove interaction event filter in destructor
QT fakes a mouse move when destructing which is
caught by our filter
2014-09-17 10:02:53 -05:00
fryshorts 0132453d23 Add video format check in v4l2 input.
This adds a check whether the video format from the device is compatible
with obs. This could either happen if the "Leave unchanged" option is
selected for the video format, or if the driver simply overwrites the
requested video format.
2014-09-16 21:54:42 +02:00
fryshorts 91fc59faca Refactor source structure in v4l2 input.
Due to the refactoring of the update function the separation of data
members only to be accessed from inside/outside the capture thread is
no longer needed.
2014-09-16 21:54:42 +02:00
fryshorts 875398e9dd Refactor update function for v4l2 input.
The old implementation of this function assumed that there would be some
settings that could be changed on the fly without restarting the
capture. That was actually never used for any setting.
2014-09-16 20:46:04 +02:00
fryshorts 632642010d Minor refactoring in v4l2 input.
We don't really need to use a dstr here, simply using the
right format specifier for blog will suffice.
2014-09-16 20:35:09 +02:00
Jim c1da19e8c6 Merge pull request #267 from BtbN/seh
Disable safeseh on 32bit builds
2014-09-16 03:09:57 -07:00
BtbN aeab5c35ef Disable safeseh on 32bit builds 2014-09-16 10:37:08 +02:00
Jim 8bfa7398b0 Merge pull request #265 from kc5nra/interaction
Add interaction support to libobs and support for pumping the events/interaction in gui
2014-09-15 16:42:19 -07:00
John Bradley 4221134748 Add interaction gui 2014-09-15 18:29:26 -05:00
John Bradley 3f993e40df Add helper function to get specific scene item 2014-09-15 18:19:39 -05:00
kc5nra 26cf4688c2 Add interaction support to libobs 2014-09-15 17:19:37 -05:00
fryshorts c3783d055f Add option to leave settings unchanged in v4l2 input.
This adds an additional option for all settings to leave the current
configuration of the device unchanged.
2014-09-16 00:12:45 +02:00
fryshorts dcd395f77e Use helper function to set framerate in v4l2 input. 2014-09-16 00:11:36 +02:00
fryshorts 6c8216c6a6 Use helper function to set format in v4l2 input.
Since the helper function also needs to pack/unpack the resolution, the
pack/unpack functions were moved to the helper library and prefixed with
v4l2_ in order to avoid possible collisions.
2014-09-16 00:11:28 +02:00
fryshorts 8d95a7fb47 Use helper function to set input in v4l2 input. 2014-09-16 00:09:16 +02:00
Jim 62ee66d1b9 Merge pull request #264 from BtbN/disable_stuff
Add disable options for optional plugins, various cmake fixes
2014-09-15 14:53:35 -07:00
jp9000 b4052f81ef Add cmake option to disable user interface
Adds:
ENABLE_UI (on by default) which makes it so that the UI is required, and
will fail if a dependency is not found.  This is on by default because
most people are building it with the user interface, and we'll probably
get a lot of issue reports stating "why is there no executable?" if we
don't have this on by default.

DISABLE_UI which forces the UI off.

If neither are set, then the UI will only be built if the dependencies
for it are found, otherwise the UI will be be ignored.
2014-09-15 14:42:18 -07:00
BtbN 978ff008fe Fix major misunderstanding of cached variables in all find modules 2014-09-15 14:42:18 -07:00
BtbN 34134bfbf6 Fix AppKit find module 2014-09-15 14:42:18 -07:00
BtbN 62d7bcf841 Fix Freetype cmake module 2014-09-15 14:42:11 -07:00