Commit Graph

3053 Commits (0ed913a136ece59ac1de0c02b2e29f9928112d39)

Author SHA1 Message Date
jp9000 bf37258469 libobs/util: Allow ability to get base config path
This allows you to for example, get your base home directory or base
%appdata% directory.
2015-07-08 09:21:18 -07:00
Carl Fürstenberg ba02e065fe libobs: Add XDG config directory support
Adding XDG Base Directory Specification support for config dir

http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Closes jp9000/obs-studio#348
2015-07-08 09:10:53 -07:00
Carl Fürstenberg cf8c096f2e libobs: Set sane write permissions on directories
Prevent setting global writable permissions on newly created
directories.
2015-07-08 08:11:14 -07:00
jp9000 2dfed30509 libobs: Update to 0.11.0 2015-07-08 00:14:21 -07:00
jp9000 3f9578dc33 UI: Make sure aero resets if settings cancelled
Fixes a bug where pressing "Cancel" on the settings window would not
reset aero to its original state.
2015-07-07 23:52:59 -07:00
Jim e28f2690dd Merge pull request #449 from chaironeko/mantis-163-quit-crash
obs-outputs: Fix crash with quit while connecting
2015-07-07 23:09:26 -07:00
John R. Bradley 3ae747dd50 win-mf: Add Media Foundation AAC Encoder
Adds Microsoft Media Foundation AAC Encoder that supports
96k to 192k bitrates.  This plugin is only enabled on Microsoft
Windows 8+ due to performance issues found on Windows 7.
2015-07-07 23:05:44 -07:00
Jess Mayo 9f0abd69d1 obs-outputs: Fix crash with quit while connecting
We need to stop the stream even if it hasn't finished opening yet,
to make sure threads are cleaned up properly.
2015-07-08 13:12:47 +09:00
jp9000 39261b8da6 Merge pull request #447 from chaironeko/master
Closes jp9000/obs-studio#447
2015-07-07 20:00:21 -07:00
Jess Mayo 65d7f3b63f rtmp-services: Add auth settings for custom server
Username and Password prompts have been added to the custom RTMP server UI
and saved in the config file alongside server and key.
2015-07-07 19:55:36 -07:00
Jess Mayo 132e58fb31 obs-outputs: Enable rtmp authentication
Authentication code has been updated as per the changes to support
multiple streams.

Authentication is now also enabled by default, and should be a no-op
if the server does not request authentication or username and password
details are not provided.
2015-07-07 19:55:35 -07:00
Christoph Hohmann e96c7c86b6 deps-libff: Fix stack corruption
ff_clock_init expects a parameter with a pointer where it stores the
address of the newly allocated ff_clock, but ff_demuxer_reset does not
provide this parameter. That somehow writes the pointer to the ff_clock
into the packet->base->buf field on the stack of the ff_demuxer_reset
function. This later causes a segmentation fault when the packet is freed.

Closes jp9000/obs-studio#448
2015-07-07 15:23:23 -07:00
jp9000 fdcb27230c text-freetype2: Add translation for source name 2015-07-06 21:28:40 -07:00
lemmi 0cdc53c0f0 libobs/util: Make pthread_setname_np glibc only
Fixes an issue with certain distributions that don't use glibc
(particularly musl)

Closes jp9000/obs-studio#441
2015-07-06 19:45:22 -07:00
CommanderRoot 740e0084a0 rtmp-services: Update recommended Youtube settings
Closes jp9000/obs-studio#439
2015-07-06 19:24:49 -07:00
Jim 5e6f7a661f Merge pull request #446 from Gol-D-Ace/install-instructions
Replace install instructions with GitHub Wiki link
2015-07-06 19:06:35 -07:00
jp9000 fab5eb5ba3 UI: Properly ensure save on exit
I broke the save that happens on exit by making all project saves put on
the message queue.  The save on exit would put the save on to the
message queue, then by the time the save occurred obs would already be
shut down.

This just calls the save function directly rather than deferring it to
the message queue.
2015-07-06 19:00:25 -07:00
jp9000 9f6f6d632b UI: Remove all unused user sources on load
This temporarily fixes an issue where potential (for whatever reason)
stray sources that aren't associated with any scenes could be saved and
then persist with the save data on load.
2015-07-06 18:50:16 -07:00
jp9000 49501be2a3 UI: Fix potential deadlocks when saving
SaveProject calls obs functions that locks certain mutexes, and because
I made it so that SaveProject was being called inside of certain signal
handlers (which could already be locked in other mutexes), it could
cause a mutual deadlock with other threads.

This fix puts the main project saving code in to SaveProjectDeferred,
then pushes it on to the Qt message queue to safely save outside of
those locks.  It's a function that's perfectly safe to put on the
message queue because it will automatically be disabled in certain
circumstances where it would be unsafe to call, such as on shutdown.

This code will also make it so that the project will not needlessly be
saved more than once if the SaveProjectDeferred call was pushed multiple
times on to the queue.
2015-07-06 17:03:42 -07:00
jp9000 e30255fbee win-dshow: Log device info on update
Logs all device settings on update
2015-07-06 17:03:41 -07:00
jp9000 a9c769897d obs-x264: Add separator to logging 2015-07-06 17:03:41 -07:00
jp9000 5f75993882 obs-ffmpeg: Improve AAC logging
Adds a separator and uses better logging techniques
2015-07-06 17:03:40 -07:00
jp9000 0b7cd0ac38 UI: Log when user changes settings 2015-07-06 17:03:39 -07:00
jp9000 20e48efbe3 libobs: Remove extra log newline from audio reset 2015-07-06 17:03:38 -07:00
jp9000 9729e7af86 libobs: Add log separators to video/audio resets 2015-07-06 17:03:37 -07:00
jp9000 0e8702b006 libobs: Log when aero is on/off on startup 2015-07-06 17:03:36 -07:00
jp9000 e5ccac0c5c libobs: Log when module file is loaded 2015-07-06 17:03:36 -07:00
jp9000 a0e42ff277 UI: Fix stream/recording startup/stop logging
I actually made the mistake of making these messages only display if all
outputs were no longer active.
2015-07-06 17:03:35 -07:00
jp9000 64d9dd77e7 UI: Fix update check logging (non-sparkle)
It currently says "Update check: latest version is x.x.x", which is a
bit confusion.  It should say "Update check: last known remote version
is x.x.x" instead.
2015-07-06 17:03:34 -07:00
jp9000 d0d799465b UI: Add large separator after obs initialization
This makes it so it's a bit more obvious when the primary initialization
has completed in the log file.
2015-07-06 17:03:33 -07:00
jp9000 a5b4330e7a UI: Don't log version in OBSBasic::UpdateTitleBar 2015-07-06 17:03:33 -07:00
jp9000 a903ae3103 UI: Fix logging for profiles/scene collections
This makes it so that the log message for altering scene collections
and/or profiles is now below, and then the separator below that.  This
makes it a bit more apparent that any loading/clearing/etc that happens
before the log message are associated with the log message.
2015-07-06 17:03:32 -07:00
jp9000 5e178c12e7 UI: Insert timestamps after log newlines
It was a bit weird seeing lines in the log without the associated
timestamps, so it should just insert it after every newline instead.
2015-07-06 17:03:31 -07:00
Palana 7bb430efd0 UI: Clean up sourceSceneRefs when removing scenes
Previously the sourceSceneRefs were being cleaned up in
OBSBasic::SceneItemRemoved; due to changes in
e82018579b the signal handler that called
OBSBasic::SceneItemRemoved is now being removed before the scene
triggers its item_remove signals
2015-07-07 02:02:41 +02:00
Kevin bb111c7642 Replace install instructions with GitHub Wiki link 2015-07-06 15:48:12 +02:00
Palana 9f2566fe69 UI: Fix memory leak when saving stream settings
SetService started using addref in
71abed387f, so we have to release
the extra reference here
2015-07-06 13:39:08 +02:00
Palana 99db4d7577 UI: Toggle password "Show" button text when clicked 2015-07-06 13:38:57 +02:00
jp9000 8ae0cd2492 ipc-util: Fix access rights issue with IPC pipe
This was the reason why game capture could not hook when the hook was
run at administrator level and the game/target was below administrator
level: it was because the plugin created a pipe, and the hook tried to
connect to that pipe, but because the pipe was created as administrator
with default access rights, the pipe did not allow write access for
anything below administrator level, therefor the hook could not connect
to the plugin, and the hook would always fail as a result.

This fixes the issue by creating the pipe with full access rights to
everyone instead of default access rights.
2015-07-05 15:17:08 -07:00
jp9000 f4d0da4e04 win-capture: Add direct hooking and use by default
I've come to realize that it's probably not wise to deviate from the
original version's functionality due to the fact that the original
version works without issues.  I'm wondering if some of the capture
problems have been due to the fact that the direct hook method (via
CreateRemoteThread) was removed, so I put it back in, made it default,
and added an option to use anti-cheat compatibility just like in the
original version.
2015-07-05 15:17:07 -07:00
jp9000 b0570c46c3 win-capture: Add inject library files
This is intended to separate the library injection code so that both the
inject helper process and the plugin itself can inject directly if they
wish.
2015-07-05 15:17:06 -07:00
Palana f3473901de coreaudio-encoder: Reduce log level for some non-fatal errors
This should reduce debug breaks due to LOG_ERROR on windows when running
with debugger attached
2015-07-05 08:52:38 +02:00
Palana f7ee1cf7f9 coreaudio-encoder: Add log level parameter to log_osstatus 2015-07-05 08:51:13 +02:00
jp9000 6ed694f617 deps-libff: Fix starting timestamp bug
Certain input streams (such as remote streams that are already active)
can start up mid-stream with a very high initial timestamp values.
Because of this, it would cause the libff timer to delay for that
initial timestamp, which often would cause it to not render at all
because it was stuck waiting.

To fix the problem, we should ignore the timestamp difference of the
first frame when it's above a certain threshold.
2015-07-04 22:16:22 -07:00
jp9000 171f0e3d26 deps-libff: Offset start of stream by start pts
Now that we're using the timestamps from the stream for playback,
certain types of streams and certain file formats will not start from a
pts of 0.  This causes the start of the playback to be delayed.  This
code simply ensures that there's no delay on startup.  This is basically
the same code as used in FFmpeg itself for handling this situation.
2015-07-04 16:25:37 -07:00
Palana 4725641c88 UI: Expose all available audio encoder bitrates 2015-07-04 13:30:13 +02:00
Palana 5bb88634fb UI: Create best matching audio encoder for given bitrate 2015-07-04 13:30:13 +02:00
Palana 8945309b58 UI: Move output handler audio bitrate config access 2015-07-04 13:30:13 +02:00
Palana 6a136ade4f UI: Add (AAC) audio encoder inspection helpers 2015-07-04 13:30:13 +02:00
Palana 473244da3c UI: Release recording/streaming signals before outputs 2015-07-04 08:00:21 +02:00
Jim b0e8fe7be6 Merge pull request #444 from Gol-D-Ace/master
rtmp-services: Add recommended video bitrate for Livecoding.tv
2015-07-03 20:36:59 -07:00