Commit Graph

1784 Commits (87ac9c91bc235be20cdbcb057f6a3538cf95ba6c)

Author SHA1 Message Date
Palana e7cfd58e9e Add option to use Sparkle for updates
OBS Sparkle feeds have two extensions to vanilla Sparkle feeds:
- There can be two kinds of items per feed: (zipped) .app and .mpkg
  via <ce:packageType>app|mpkg</ce:packageType> (default is mpkg)
- Feed items can be disabled via <ce:deployed>false</ce:deployed>; these
  items will not be considered for updates unless
  "[General] UpdateToUndeployed=1" is set the global config

Unlike other Sparkle implementations the FeedURL cannot be updated via user
preferences because we support multiple app packages with the same package
identifier but different FeedURL settings on the same machine
2014-10-11 22:17:18 +02:00
Jim 8dead6a948 Merge pull request #272 from palana/syphon
Add mac-syphon plugin
2014-10-10 17:44:24 -07:00
Jim e7d5ad257b Merge pull request #276 from reboot/fix_pulse_audio_format_conversion
Fix pulse audio format conversion
2014-10-10 17:02:00 -07:00
Jim 9183c827c5 Merge pull request #277 from fryshorts/fixes
Fix small bug in timestamp smoothing for audio sources
2014-10-09 13:34:35 -07:00
fryshorts 5894054521 Fix small bug in timestamp smoothing for audio sources
Due to a small error in the timestamp smoothing code the timestamp of
audio packages that were too early was always set to the next expected
timestamp, even if the difference was bigger than the smoothing threshold.

This would cause obs to simply append all audio data to the buffer even if
the real timestamp was way smaller than the next that was expected.

This should reduce corruption problems with for example the pulseaudio
plugin, which resends data under certain conditions.
2014-10-09 22:25:29 +02:00
Christoph Hohmann ed1430622b Force PulseAudio sample format if the source format is not supported by OBS
If the sample format used by PulseAudio can not be converted into an
OBS audio format it will be handled as AUDIO_FORMAT_UNKNOWN which will
not result in a proper audio recording. So instead we request a format
that OBS supports from PulseAudio and let it do the format conversion.
2014-10-08 00:05:11 +02:00
Christoph Hohmann 8166932d00 Fix PulseAudio audio format to OBS audio format mapping
The format PA_SAMPLE_S24_32LE is a 24 bit audio format in 32 bit integers
and not a 32 bit audio format and so it should no be mapped to
AUDIO_FORMAT_32BIT.
2014-10-07 21:56:32 +02:00
jp9000 4e308c955d linux-pulseaudio: Use interpolated system timing
Before it was giving timestamps based upon system time for each new
segment of audio data.  Also, it was subtracting pulse latency from the
audio timestamp, which seems like it was really meant for use with the
pulse audio time rather than system time.

Now, it just uses system time for timestamps.  Still might not be
totally perfect, but seems to be much better than it was.

This also removes the latency calculation.  Latency is no longer used
because we're not using pulseaudio timing.
2014-10-06 18:49:53 -04:00
jp9000 164f9b4517 linux-pulseaudio: Use inline for small functions 2014-10-06 18:49:53 -04:00
jp9000 e78c54e8e5 libobs/media-io: Add more audio debug output 2014-10-06 18:49:53 -04:00
Jim 5af4000110 Merge pull request #274 from reboot/fix_crash_on_video_init_error
Fix crash in obs_get_video_info when video_output_get_info returns NULL
2014-10-05 14:18:04 -07:00
Christoph Hohmann 1abda41c20 Fix crash in obs_get_video_info when video_output_get_info returns NULL 2014-10-05 22:33:53 +02:00
Christoph Hohmann 3e74e96649 Fix calculation of physical memory on linux systems
As stated in the sysinfo manpage the totalram field in the sysinfo
structure is in mem_unit sizes since Linux 2.3.23. To get the actual
memory in the system the totalram value has to be multiplied with the
mem_unit size.
2014-10-05 13:01:19 -07:00
Palana 2edac33c58 libobs/util: Write 0 character when converting empty strings
Fixes log_windows_version logging garbage for build when running with
debug heap enabled (assuming osvi.szCSDVersion is an empty string)
2014-10-04 21:48:08 +02:00
Palana 019a70f0d4 Add mac-syphon plugin
Allows adding Syphon servers as sources, and provides game-capture if
used with SyphonInject (specifically the scripting additions have to be
installed for SyphonInject to work from within OBS)
2014-10-04 17:26:29 +02:00
Palana 802ae79601 mac-capture: Use obs_get_default_rect_effect 2014-10-03 23:53:37 +02:00
Palana abb95781dd mac-capture: Rename display_capture::draw_effect to …::effect 2014-10-03 23:53:37 +02:00
jp9000 a1b46c0fa5 libobs-d3d11: Don't depend on specific D3DCompiler
I do not want the D3D11 library to depend on a specific compiler
version.  This way, I do not have to distribute D3D Compiler libraries
with the program (proprietary binary blobs).  Any particular version
works because the API for the D3DCompiler function appears to be the
same; the only things that change are other features and additions
mostly (at least as far as I can tell).  Using any version available on
the system should be more than sufficient rather than depending on some
specific D3D compiler version.

If the user doesn't have it, a download of the latest D3D distributables
should be fine, though it should work with the ones that come with
windows 7+ as well.
2014-10-03 14:33:56 -07:00
Palana 0f15cc143e Add obs_get_default_rect_effect
This provides a default effect for users of GL_TEXTURE_RECTANGLE/textures
that return true for gs_texture_is_rect
2014-10-03 20:18:01 +02:00
Palana 9c4024f5b3 Implement 'update_properties' for mac-avcapture 2014-10-01 15:48:16 +02:00
Palana 59f2a6ac5a Handle 'update_properties' signal in window-basic-properties 2014-10-01 15:39:58 +02:00
Palana b99c378e33 Add 'update_properties' signal and obs_source_update_properties call
obs_source_update_properties should be called by sources when property
values change, e.g. a capture device source would use this when it
detects a new capture device (in case its properties contain a list of
available capture devices or similar)
2014-10-01 15:39:57 +02:00
Palana 088a05db8f Move properties loading to OBSPropertiesView 2014-10-01 15:39:57 +02:00
Palana 7c0018d4bc Remove destructor from OBSPropertiesView 2014-10-01 15:39:57 +02:00
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