1158 Commits

Author SHA1 Message Date
jp9000
3b17416b82 image-source: Add image slideshow source 2016-05-26 11:14:22 -07:00
jp9000
e77e87007c obs-outputs: Remove unused variable 2016-05-26 09:10:21 -07:00
jp9000
f16a1b1aef obs-x264: Default to CBR if no other RC specified
This had the possibility of leaving the rc variable uninitialized.
2016-05-26 08:13:22 -07:00
jp9000
e935056887 image-source: Reset gif seek position when source activated 2016-05-26 08:13:22 -07:00
Kilian von Pflugk
e4133485c6 rtmp-services: fix url 2016-05-20 20:43:29 +02:00
Kilian von Pflugk
f1b2adf9f1 rtmp-services: Add Nood as a service
Nood is a Live video streaming platform and community for adults
https://www.nood.tv
2016-05-20 19:21:56 +02:00
Robin Hielscher
7e6ff1ae05 rtmp-services: Update Facebook Live encoder settings
As commented on: cab2819033 (commitcomment-17482672)
And according to: https://www.facebook.com/facebookmedia/get-started/live

Max 2-second keyframe interval and max video bitrate of 2500.

Closes jp9000/obs-studio#541
2016-05-17 04:23:28 -07:00
jp9000
757c1942dc obs-ffmpeg: Fix NVENC lossless mode
Lossless mode is set through the preset setting, and the profile ffmpeg
setting was incorrectly being set as lossless instead.
2016-05-16 04:18:29 -07:00
jp9000
48185cc404 rtmp-services: Update restream.io 2016-05-15 12:23:09 -07:00
jp9000
b101868e47 Revert "win-capture: Don't draw window if minimized"
This reverts commit 997f05f10ee7eec250c318f4c4e31d00cebcde57.
2016-05-15 06:14:18 -07:00
jp9000
997f05f10e win-capture: Don't draw window if minimized 2016-05-15 04:35:29 -07:00
jp9000
5a5b8b20e3 win-capture: Clear window capture if window no longer exists 2016-05-15 04:35:01 -07:00
jp9000
d24a81868e win-capture: Do not render game capture if not active 2016-05-15 04:20:39 -07:00
Gol-D-Ace
fe56a12867 Update translations from Crowdin 2016-05-14 00:27:59 +02:00
jp9000
2707f05c46 Revert "win-capture: Allow window capturing of current process"
This reverts commit 8d520b970d3552417005f6dab4f0892485cd14ce.

This can actually cause a hard lock due to the windows API when
destroying window capture.  When the graphics thread locks the source
list for doing tick or render, and then the UI thread tries to destroy a
source, the UI thread will wait for the graphics thread to complete
rendering/ticking of sources.  The video_tick of window capture would
then check windows in the same process and try to query the window's
name via GetWindowText.  However, GetWindowText is synchronous, and will
not return until the window event has been processed by the UI thread,
so it will perpetually lock because the two threads are waiting for each
other to finish.
2016-05-13 04:21:39 -07:00
jp9000
8d520b970d win-capture: Allow window capturing of current process
Allows window capture to capture windows of the current process, and
adds windows of the current process to the end of the window list.
2016-05-13 02:14:24 -07:00
jp9000
a140d749f2 obs-ffmpeg: Fix type size mismatch warning 2016-05-12 23:01:45 -07:00
jp9000
e73b025533 obs-ffmpeg: Fix ffmpeg-mux unicode file saving (win32)
On windows, if you were saving a file name or directory with characters
that are not of the current windows character set, it could cause the
file saving process to fail.  This fixes it so that on windows it uses
wmain and converts the unicode command line to a UTF-8 command line,
which works with FFmpeg.
2016-05-12 20:20:49 -07:00
jp9000
bd9980a206 win-capture: Reset game cap. wait_for_target_startup on update
This flag should be reset when the user changes the game capture
settings.
2016-05-12 19:42:00 -07:00
jp9000
94e22dae49 win-capture: Instantly capture already-hooked processes
If a process is already hooked, immediately initialize the capture
rather than wait for the processes to initialize or wait for the timer
to trigger.
2016-05-12 19:38:46 -07:00
jp9000
8681baeec3 win-capture: Shut down game cap. when not showing
Prevents game capture from acting as a global source.  This fixes an
issue where a game capture in another scene could capture a window and
prevent a separate game capture in the current scene from being able to
capture that same window.
2016-05-12 19:36:33 -07:00
jp9000
9493095c25 win-capture: Shut down win8 monitor capture when not showing
Completely shut down monitor capture when it's not being shown in the
program (for example in a different scene).  This fixes an issue where
it would cause lag when a game enters fullscreen mode.
2016-05-12 17:59:01 -07:00
jp9000
2801cf0f37 rtmp-common: Use "rate_control" to set CBR mode
Instead of using "cbr" to set the rate control mode for encoders (which
is now considered deprecated for all encoders), set "rate_control" to
"CBR".
2016-05-11 13:12:32 -07:00
jp9000
7f1cabd81b obs-x264: Add rate control, deprecate "use cbr" setting
Instead of having a "cbr" setting that turns CBR on and off, adds a
"rate_control" parameter that sets the rate control method, which can be
one of the following: CBR, ABR, VBR, CRF.

If the "cbr" setting is used, it will throw a deprecation warning to the
log.
2016-05-11 13:12:31 -07:00
jp9000
c7923bcbe4 obs-qsv11: Add deprecated warning for forced CBR mode
Using the "cbr" parameter is now considered deprecated in favor of using
"rate_control" to set the rate control method.
2016-05-11 13:12:31 -07:00
jp9000
978e607522 obs-ffmpeg: Change NVENC to use rate control
Instead of using an option that turns CBR on/off, adds rate control
methods: VBR, CBR, CQP, Lossless.

This moves lossless from being a preset to being a rate control method.
2016-05-11 13:12:30 -07:00
jp9000
0157d02564 obs-ffmpeg: Add lossless mode to NVENC encoder 2016-05-05 15:24:32 -07:00
jp9000
ff38176c60 obs-ffmpeg: Increase upper NVENC bitrate limit
The bitrate for the properties was capped at 90000, which is a bit low.
2016-05-04 20:31:12 -07:00
Gol-D-Ace
f507d70033 rtmp-services: Bump version for services.json to 20 2016-05-01 22:54:59 +02:00
CallumHoward
cab2819033 rtmp-services: Add Facebook Live as a service
Closes jp9000/obs-studio#539
2016-05-01 13:08:32 -07:00
jp9000
61ab648bac obs-qsv11: Fix QSV rescaling
When using per-encoder rescaling, QSV would overwrite the current
encoder scale value in the get_video_info callback with the base video
width/height instead of using the current encoder width/height.
2016-04-28 16:01:38 -07:00
Richard Stanway
65fcd20242
libff: Improved handling of EOF in the decoder threads
(Also modifies obs-ffmpeg to handle empty frames on EOF)

Previously the demuxer could hit EOF before the decoder threads are
finished, resulting in truncated output. In the worse case scenario the
demuxer could read small files before ff_decoder_refresh even has a chance
to start the clocks, resulting in no output at all.
2016-04-28 23:58:28 +02:00
jp9000
b16557371c obs-outputs: Improve error handling when sending headers
There was no error checking when sending headers/metadata, so what would
happen is that if a header/metadata send failed (meaning the socket was
disconnected), it would continue to act as if it was still connected,
and it would block and lock up on the next send/recv call.
2016-04-26 20:14:31 -07:00
Richard Stanway
e5e5189c7b
win-capture: Make sure we don't try to hook ourselves
Can trigger when using "Hook any fullscreen application" is enabled and
the projector is active.
2016-04-25 23:46:20 +02:00
jp9000
5edc0c9580 obs-filters: Fix more chroma key shader code
In aa4e18740a219b I mistakenly thought that I could add the variables
back in and that it would automatically cull variables that aren't used,
but that wasn't the case -- the shader parser always checks to see
whether parameters were set, and if they're not, it'll fail.  This fixes
an issue where the shader would try to access parameters that are no
longer needed and fail due to the shader parameter check.

YUV-based shader support has been removed (due to the fact that no
sources ever use YUV shading) so there's no reason to keep around the
YUV processing code.
2016-04-24 15:57:46 -07:00
jp9000
aa4e18740a obs-filters: Fix chroma key shader bug 2016-04-24 13:55:39 -07:00
jp9000
7c3d858110 obs-ffmpeg: Remove unused variable 2016-04-24 13:01:14 -07:00
Richard Stanway
8f3289fc4d
text-freetype2: Fix a crash if there's insufficient glyph texture space 2016-04-24 20:21:07 +02:00
Gol-D-Ace
c2e4926323 Update translations from Crowdin 2016-04-24 19:55:39 +02:00
jp9000
1bec777210 image-source: Set starting browse path to last used file dir
Set the starting browse path to the directory of the current file used
for the source.
2016-04-23 20:22:11 -07:00
jp9000
448ae26e64 obs-qsv11: Prevent more than one active QSV encoders
Currently, multiple QSV encoders cannot be active at the same time
(otherwise it will crash).  This is a temporary solution to prevent
crashes from occurring when more than one QSV encoder tries to start up
at the same time.

Additionally, in the future there should be a way for encoders to be
able to communicate with the front-end when an error such as this
occurs.
2016-04-23 16:18:02 -07:00
jp9000
6f02d33673 obs-qsv11: Remove unused global variable 2016-04-23 14:55:40 -07:00
jp9000
5349bbf633 obs-filters: Skip scroll filter if parent has no cx/cy
There's no point in the filter continuing its processing if there's
nothing to draw.
2016-04-23 14:39:38 -07:00
jp9000
a23d8e3f2c obs-filters: Fix scroll filter offsets becoming non-finite
If the parent source of a scroll filter has a 0 width or 0 height, the
scroll filter would do a division by zero on the size_i variable, which
would then cause the offset variable to perpetually have a non-finite
value, thus preventing the scroll filter from rendering properly after
that due to the non-finite offset value being uploaded to the shader.
2016-04-23 14:39:37 -07:00
Richard Stanway
215f2441e2
text-freetype2: Don't create vertex buffer if text is empty 2016-04-23 17:49:04 +02:00
jp9000
bc38427862 obs-qsv11: Rename encoder 2016-04-23 07:34:12 -07:00
Gol-D-Ace
5ed7081213 Update translations from Crowdin 2016-04-23 10:29:21 +02:00
jp9000
ff99ba7818 libobs: Allow filter processing function to return false
(Note: this commit also modifies the obs-filters and test-input modules)

Changes the obs_source_process_filter_begin return type so that it
returns true/false to indicate that filter processing should or should
not continue (for example if the filter is bypassed or if there's some
other sort of issue that causes the filtering to fail)
2016-04-22 10:18:12 -07:00
jp9000
42305f1c98 text-freetype2: Don't draw anything if no text to draw
Under certain circumstances (when there's no text and a filter is
applied for example) the freetype 2 text source would still draw.
2016-04-22 08:23:44 -07:00
jp9000
86a41f844f obs-ffmpeg: Remove unused variable 2016-04-19 18:21:15 -07:00