Due to crashes being caused by hardware acceleration in the media source
on mac, disable hardware acceleration of the media source being on by
default for the time being.
In transitions, because the 'to' and 'from' are always rendered to
textures, the end result will always have premultiplied alpha. This
would cause alpha to have blackish edges during transition, and cause
semi-transparent images to appear darker than they were supposed to.
To replicate, simply set the transparency of a source to 50%, then
transition between that scene and another scene. The source will appear
to "pop" in and out unnaturally due to the premultiplied alpha effect of
the render targets.
To fix this, the solution is to simply convert premultiplied alpha to
straight alpha in the transition pixel shaders.
When the OBS signal is triggered for these widgets, the invokeMethod
could cause the thread to stall, which could make it wait much longer
than necessary to output audio data. When that happens, it causes audio
monitoring to get backed up and get unnecessarily delayed, as well as
cause general audio buffering in libobs to increase unnecessarily.
A simple fix both in terms of preventing that stall and improving UI
performance is to not call invokeMethod to update the widget each time,
and then instead have those widgets update themselves via a timer at a
specific interval.
Adds functions to turn on audio monitoring to allow the user to hear
playback of an audio source over the user's speaker. It can be set to
turn off monitoring and only output to stream, or it can be set to
output only to monitoring, or it can be set to both.
On windows, audio monitoring uses WASAPI. Windows also is capable of
syncing the audio to the video according to when the video frame itself
was played.
On mac, it uses AudioQueue.
On linux, it's not currently implemented and won't do anything (to be
implemented).
Twitch added the following ingests:
- South America: Lima, Peru
- EU: Lisbon, Portugal
- South America: Medellin, Columbia
- EU: Milan, Italy
- NA: Mexico City
The following ingest server is no longer listed in hitbox' API:
- US-East: Washington
YouTube does not list a requirement that states that only the main profile can be used.
This allows for color grading based on a color look-up table. Commonly
used to color correct and/or grade video that has been shot in Log.
Closesjp9000/obs-studio#747
This algorithm reduces scaling distortion on the center of the image
when scaling from ultrawide to wide.
(Jim: edited effect files to prevent an impact in performance for
standard scaling. Now effectively generates an extra pixel shader, and
the extra code is only applied to the DrawUndistort technique, while the
original Draw technique is unaffected due to the compiler automatically
removing unused code branches via the hard-coded boolean value)
From jp9000/obs-studio#762
On linux, the main window isn't immediately set to a native widget, so
the call:
connect(windowHandle(), &QWindow::screenChanged, displayResize);
on line 189 will fail, causing the preview widget to not properly resize
when the main window is resized.
Closesjp9000/obs-studio#776
Fixes bug 617 on mantis. Scaling the source manually in the viewport
wouldn't work properly when the source is flipped horizontally or
vertically.
Closesjp9000/obs-studio#751
Prevents the program from unintentionally quitting if the program is
minimized to the task tray and the user closes all projectors
Closesjp9000/obs-studio#737
Fixes an issue where non-english debug text wouldn't display correctly
in the debugger output on windows. Also, only output debug text when
actually debugging.
Closesjp9000/obs-studio#734