0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 21:13:04 +02:00
Commit Graph

3603 Commits

Author SHA1 Message Date
jp9000
75e43069cc UI: Fix alt-crop not working with X/Y flipped sources 2016-05-02 17:09:07 -07:00
jp9000
3cb36bbd51 libobs: Fix deinterlacing discarding flipped status
When rendering the deinterlaced surface, it would not take in to account
whether the async surfaces were marked as flipped or not.
2016-05-01 16:56:21 -07:00
jp9000
7af9c2d882 libobs: Don't prematurely stop transition audio
Transition audio was programmed to stop if there is no queued audio from
both sources.  Because of that, when a source's audio started after the
transition started, it would cause audio from the source to be excluded
from the transition until the transition had completed because the audio
had already been marked as stopped.

Instead, if there's no audio from the transition sources, the audio
should only be marked as stopped when video has stopped.  This allows
the to/from sources to have an opportunity to start/restart audio during
the transition safely.
2016-05-01 15:22:27 -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
ea851b1351 UI: Don't minimize projectors w/ main window
Projectors should be considered their own windows, not child windows.
Fixes the issue where projectors would minimize whenever the program
was.
2016-04-27 16:00:28 -07: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
jp9000
cb24080d76 UI: Add CoInitializeEx to main() startup
Fixes an issue with a certain upcoming as-of-yet-unreleased plugin that
relies on COM
2016-04-26 15:02:41 -07:00
jp9000
49ba7412df UI: Fix projector connecting the wrong source signal
The signal name is "remove" for when a source is removed, not "removed".

This is proof that I should never have relied on strings for signals.
The original intention for string-based signals was to make them
programmable and scriptable, but honestly that use-case (that never
happened and will likely never happen) was foolish to program around.
These should have been fixed macros from the beginning.
2016-04-26 15:02:41 -07:00
jp9000
ce4960c89c UI: Don't alert user of encode lag if skip count < 10
Sometimes encoders might have a tiny insignificant amount of lag
unintentionally for whatever reason (for example VP9 sometimes lags on
startup by a frame or two), so don't warn the user if the skip count is
below 10.
2016-04-26 15:02:40 -07:00
jp9000
6014d4dc6d cmake: Also copy libvpx library for MSVC if available 2016-04-26 15:02:40 -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
853ec3cba0 libobs: Update to 0.14.1 2016-04-24 16:40:58 -07:00
Richard Stanway
dd6f8120b3
libff: Seek to frame 0 for sources with no duration 2016-04-25 01:05:32 +02:00
jp9000
5edc0c9580 obs-filters: Fix more chroma key shader code
In aa4e18740a 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
Richard Stanway
2974fda785
obs: Disable ALPN in RemoteTextThread 2016-04-25 00:28:25 +02: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
jp9000
45015db9d8 file-updater: Fix warning parameter
The parameter was being passed as a pointer instead of being
dereferenced
2016-04-24 12:59:55 -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
84ce1076f1 libobs: Fix field order of retro/linear 2x shaders
The field orders of retro 2x and linear 2x deinterlace shaders were
inverted.  Note that yadif 2x does not act the same in this regard, its
field ordering is correct due to how it operates.
2016-04-24 01:21:30 -07: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
5429832675 UI: Don't display x264 warning if using hardware
Don't display the warning for using two software encoders at the same
time if the stream encoder is not x264
2016-04-23 16:35:22 -07:00
jp9000
350855a2e7 UI: Show warning if using multiple separate QSV encoders
Warns users that two separate QSV encoders can't be active at the same
time.

This should be considered a temporary solution to two issues:
1.) Encoders need to be able to report these errors themselves
2.) If the QSV encoder is ever changed to allow more than one encoder at
    the same time this should be removed
2016-04-23 16:35:06 -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
672d0b3716 file-updater: Only use SSL ALPN opt if curl version up to date 2016-04-23 08:17:47 -07: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
Richard Stanway
15bec2a4d2
file-updater: Add missing dstr_free calls 2016-04-22 18:16:53 +02: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
737a66cb39 libobs: Update version to 0.14.0 2016-04-21 06:19:21 -07:00
jp9000
8a9f1bc7c1 libobs: Fix discard/retro deinterlace equations 2016-04-20 20:13:49 -07:00
jp9000
82a7d795db libobs: Always prune excessive starting audio packets
On outputs that use already-active video/audio encoder, the audio
pruning to sync up audio packets with video packets doesn't always get
called (for example if the video pruning function was called).  Always
prune excess starting audio packets.
2016-04-20 20:13:49 -07:00
jp9000
84ad6b563e libobs: Improve output packet pruning debug message
Specifies whether packets were pruned or not
2016-04-20 20:13:48 -07:00
Gol-D-Ace
674706ac6e Merge pull request #533 from sorayuki/patch-1
libff: Fix a race condition crash when handling clocks
2016-04-21 04:18:55 +02:00
sorayuki
a9b9b26afd libff: Fix a race condition crash when handling clocks
How to crash:
1. Use recent ffmpeg shared libraries.
2. Add a ffmpeg_source, a small static picture (e.g. jpeg) with loop
3. After a while of high cpu usage, it crashed. Seems reproduced more
easily on faster computer

Closes #533
2016-04-21 04:12:27 +02:00
Richard Stanway
5ddc3d258e
file-updater: Fix format string 2016-04-21 02:06:23 +02:00
Richard Stanway
f7fce1c802
file-updater: Add support for HTTP 304 Not Modified using ETag, disable ALPN 2016-04-21 02:03:14 +02:00
Richard Stanway
65094eefe4
libobs: Don't try to keep rendering if a texture wasn't allocated
Fixes issues with invalid textures causing huge output or large black
regions to be rendered.
2016-04-21 00:21:07 +02:00
Richard Stanway
ccf36b68fc obs: Remove draw callbacks when closing various windows
Fixes a race condition during shutdown where the dialogs aren't deleted
before another render attempt occurs, by which time the sources are
already freed, resulting in a crash.
2016-04-20 20:30:27 +02:00
jp9000
92af243a27 libobs-opengl: Fix bug with texelFetch shader intrinsic
This is supposed to assign -1 to the sampler_id to indicate that no
sampler need be assigned for the texture, but instead it was leaving the
variable with uninitialized data, resulting in a crash when used.
2016-04-19 19:42:27 -07:00
Richard Stanway
1f39b6a612
libobs: Don't use was_down for hotkey detection
From MSDN: "The behavior of the least significant bit of the return value
is retained strictly for compatibility with 16-bit Windows applications
(which are non-preemptive) and should not be relied upon."

This caused problems with hotkeys firing if the user pressed a hotkey key
in another application, followed by the modifier keys at any other time.
OBS would then think the hotkey key was just pressed based on the was_down
behavior and incorrectly trigger a hotkey event.

Fixes 0000443.
2016-04-20 03:46:30 +02:00