Commit Graph

874 Commits (4bdcbe06001f55d1c512989798dc79764043f71e)

Author SHA1 Message Date
jp9000 4bdcbe0600 libobs/util: Add func to get current log handler 2014-05-14 17:43:23 -07:00
Palana d3463e0772 Release sources after name check 2014-05-14 22:20:08 +02:00
Palana 4b2170a725 Handle scene name generation collisions 2014-05-14 20:58:15 +02:00
Palana 7f3d61a35d Fix an issue with display capture shutdown
Holding the lock in destroy_display_stream can result in a deadlock in
display_stream_update since cb4595e512
2014-05-14 20:50:31 +02:00
Palana 39ceabb68d Make generated source name unique 2014-05-13 01:12:22 +02:00
jp9000 e7ea34f417 UI: Check for valid source name and duplicates
When creating a source, it was possible to create duplicates.  That has
now been fixed.  I think that perhaps libobs shouldn't even allow for
duplicates in its core code, just to be safe.  Will have to consider
doing that in the future.
2014-05-12 15:34:46 -07:00
jp9000 03ca5919ce UI: Add popup warnings for connection failure
Also, check for null stream path/key in the RTMP output module.
2014-05-12 15:34:46 -07:00
Palana fa22417f8c Handle libobs fourcc byte order change in mac-avcapture 2014-05-13 00:17:12 +02:00
Palana c57d883506 Fix mac-avcapture compilation with OSX SDK version < 10.9 2014-05-13 00:14:27 +02:00
Palana e9b6d1d189 Fix typo in mac-avcapture 2014-05-13 00:10:57 +02:00
Jim 29443eaa15 Merge pull request #82 from Socapex/master
Small usability enhancements.
2014-05-12 13:05:45 -07:00
Socapex 6dc84ad8fe Auto suggest scene and source names.
NameDialog can have placeholder text.
Localize scene number.
Pre-select scene and source text.
2014-05-12 15:01:51 -04:00
Socapex 978de126b3 Advise user he needs a scene before adding a source. 2014-05-12 13:41:50 -04:00
Socapex c76b7cbf3f Improved settings usability.
Don't ask user to save changes every item switch.
Apply button greyed out when there are no changes.
2014-05-12 13:34:26 -04:00
Jim 6f832575e7 Merge pull request #84 from mcgrew/intel-fix
Added a version to the X11 GL context request
2014-05-11 23:43:32 -07:00
Thomas McGrew 59328d86ce Added a version to the X11 GL context request
This enables the application to start on Intel graphics under Mesa 10.2
2014-05-12 02:31:15 -04:00
jp9000 7b0adc9b24 Basic UI: Fix scene/source reference counter
The 'how many scenes is this source in' reference counter used
in the basic UI was not being decremented.
2014-05-11 23:20:45 -07:00
Palana 29c74efba6 Add log message for dropped display stream frames 2014-05-11 21:47:34 +02:00
Palana cb4595e512 Reduce lock holding time for display stream and guarantee update
With the previous locking strategy some display captures would sometimes
not process multiple frames in a row if multiple display captures were
active
2014-05-11 21:43:32 +02:00
Palana d1b2596b67 Move display stream update handler logic out of init_display_stream 2014-05-11 21:14:40 +02:00
Palana 626addd08b Move display capture texture update to video_tick 2014-05-11 21:10:40 +02:00
jp9000 345c70138e Add 'source selection' dialog
Add a 'source selection' dialog to replace the 'enter a name' dialog.
This new dialog allows you to make new instances of pre-existing sources
so that you can add a pre-existing source to a different scene, or in to
the same scene more than once.

Also started implementing locale.

Comtemplating switching to JSON-based locale later, so we can add things
like descriptions/disambiguation, and so we can use jansson's built-in
hash table when doing the string lookup.
2014-05-10 18:47:48 -07:00
Jim a9158555b4 Merge pull request #81 from BtbN/wfixes
Fix all warnings
2014-05-09 22:51:41 -07:00
BtbN b3adef6c8d Fix all warnings in rtmp output 2014-05-10 03:40:23 +02:00
BtbN e958bc16e4 Move static to front of declaration, as required by c99 2014-05-10 03:40:05 +02:00
BtbN 0236d4fb09 Fix obs_data_item_set for number types 2014-05-10 03:38:33 +02:00
BtbN 9d88c10ca4 Fix multi-char constant warnings 2014-05-10 02:06:59 +02:00
Jim 195edbb0af Merge pull request #77 from BtbN/cmake_export
Export libobs cmake target, so external plugins can be built
2014-05-08 18:52:01 -07:00
BtbN fe8d964889 Add sse/mmx flags, so used intrinsics compile on 32bit 2014-05-08 23:08:45 +02:00
BtbN 6a63e4fecc Fix cpack problem 2014-05-08 14:43:16 +02:00
BtbN 34923f1f83 Also export a plugin destination, so external plugins know where to install stuff 2014-05-08 14:43:16 +02:00
BtbN b5743a1b78 Make include path more pretty 2014-05-08 14:43:16 +02:00
BtbN 7abf95be27 Use relative path in installed cmake file 2014-05-08 14:43:16 +02:00
BtbN 4959db83d4 Fix absolute path detection 2014-05-08 14:43:16 +02:00
BtbN 3e224b9750 Fix mav-avcapture dependencies 2014-05-08 14:43:16 +02:00
BtbN ce542525fc Fix dependency on win32-pthreads 2014-05-08 14:43:16 +02:00
BtbN 38594fff9e Export libobs cmake target, so external plugins can be built without ugly hacks 2014-05-08 14:43:16 +02:00
Palana cfc3f2590e Update OSX dependencies for cmake generators other than ninja/make 2014-05-08 14:31:43 +02:00
Palana b9c544969e Request global headers from ffmpeg aac encoder
FAAC and FDK AAC don't populate AVCodecContext::extradata{_size} unless
CODEC_FLAG_GLOBAL_HEADER is set
2014-05-08 14:19:10 +02:00
Palana 00bdf11649 Bypass time conversion if AVCaptureInputPort has no clock
This should add compatibility for OSX < 10.9
2014-05-05 20:31:47 +02:00
Palana c36ce49706 Minor cleanup in mac-avcapture 2014-05-05 20:31:47 +02:00
jp9000 1c54dac3ac Update libobs to use semantic versioning (0.2.0) 2014-05-04 23:04:35 -07:00
jp9000 2ab48dd590 obs-source.c: Fix a few potential concerns
First, if the private data of the source fails to be created, then do
not destroy the source.  If the source is destroyed, all the user's data
associated with that source is lost, which could end up being a
potential problem.  Instead, let it linger as a 'dead' source until the
user chooses to fix the problem (though this should never really happen,
the source module functions should be programmed to handle this
scenario)

Secondly, rename new_frame_ready to ready_async_frame, and fix a
potential memory leak with it.
2014-05-04 16:20:11 -07:00
Palana 4682cfb61b Fix an issue with async (video) source destruction
obs_source_output_video can cause cached frames to be freed twice if
called with a partially destroyed source, among other undesirable
effects; freeing the source private data right after the destroy signal
has been processed ensures proper behavior
2014-05-04 21:02:01 +02:00
jp9000 9e2375726b Fix a few typos 2014-05-03 23:06:20 -07:00
jp9000 52746c2523 Add (temporary terrible) volume controls
- Add volume control

   These volume controls are basically nothing more than sliders.  They
   look terrible and hopefully will be as temporary as they are
   terrible.

 - Allow saving of specific non-user sources via obs_load_source and
   obs_save_source functions.

 - Save data of desktop/mic audio sources (sync data, volume data, etc),
   and load the data on startup.

 - Make it so that a scene is created by default if first time using the
   application.  On certain operating systems where supported, a default
   capture will be created.  Desktop capture on mac, particularly.  Not
   sure what to do about windows because monitor capture on windows 7 is
   completely terrible and is bad to start users off with.
2014-05-03 22:54:38 -07:00
jp9000 fc0afd5c2d Add contribution guidlines
These are guidelines, not necessarily a rulebook.
2014-05-03 22:50:09 -07:00
paibox 8334c48677 D3D11 scissorrect fix
Make sure the D3D11 scissorrect settings actually get applied.
2014-05-03 18:08:49 +02:00
jp9000 2838a95066 D3D11: Fix constant position code for good
I had forgotten how constants worked when compiled; constants are
uploaded as constant registers.  When constants are used with shaders,
multiple constants are often packed in to a single register when
possible to reduce constant register count.

For example, one 'float' constant and one 'float3' constant will be
packed in to a single register (c0.x for constant 1, c0.yzw for constant
2), but two 'float' constants and one 'float3' constant must inhabit two
registers (c0.xy for constant 1, c1.xyz for constant 2), so it must
start on a new register boundry (every 16 bytes).

I had first instinctively thought it was just a simple case of
alignment like it is on the CPU, but then I realized that it didn't
sound right, so I went back and did some more tests and then ultimately
remembered how constants actually are uploaded.
2014-05-02 21:38:05 -07:00
jp9000 8195786811 Also fix project files for 64bit 2014-05-02 15:35:06 -07:00