Commit Graph

7243 Commits (cbfb7798768892ceec2e2bbb31bf98cc5e1e9955)

Author SHA1 Message Date
Colin Edwards f2a0c5275f
Merge pull request #1962 from jpark37/default-color-range
Default color range
2019-07-13 20:45:53 -05:00
Colin Edwards c64d82530d
Merge pull request #1960 from Xaymar/patch-get_defaults2
libobs: Call both get_defaults and get_defaults2
2019-07-13 20:40:20 -05:00
Colin Edwards 0767a3d088
Merge pull request #1967 from Xaymar/patch-fix_property_groups_2
UI: Fix toggled signal of property groups
2019-07-13 20:32:19 -05:00
Clayton Groeneveld 866e1e15a8 UI: Add enable preview button
Closes #1966
2019-07-13 20:27:14 -05:00
Colin Edwards d4a4518a7e
Merge pull request #1916 from ElectronicWar/rtmp-add-steam
rtmp-services: Add Steam
2019-07-13 19:13:31 -05:00
Manuel Kroeber 6c78f4d222 rtmp-services: Add Steam 2019-07-13 19:09:46 -05:00
brittneysclark 8717a66991 obs-qsv: Enable Content Adaptive Quantization
Allow user to enable Content Adaptive Quantization (MMBRC) if CPU is SKL
or newer
2019-07-13 00:10:16 -07:00
brittneysclark b675bed90b obs-qsv: Enable B-frames and B-pyramid for encoder
Enable B-Pyramid frames to improve quality for high motion content.
B-pyramid allows a B-frame to choose closer frames for reference which
may have higher correlation.

Adjusts packet priority to avoid dropping referable B-frames

A check has been added to ensure feature is enabled only on platforms
with MSDK API 1.8 or higher - addresses crashing issues.
2019-07-12 23:35:16 -07:00
Colin Edwards f2f78b98ef
Merge pull request #1964 from cg2121/dark-theme-groupbox
UI: Make Dark theme group box title bold
2019-07-12 22:10:03 -05:00
Colin Edwards 0e0ec9da12
Merge pull request #1955 from DDRBoxman/clang
CI: Run clang format on linux and osx CI and fail if changes are made
2019-07-12 21:59:40 -05:00
Colin Edwards 28243dbc94 CI: Run clang format on linux and osx CI and fail if changes are made 2019-07-12 21:44:33 -05:00
Colin Edwards 4ec072075d
Merge pull request #1958 from DDRBoxman/format
Apply clang-format to objective c code
2019-07-12 21:43:55 -05:00
Michael Fabian 'Xaymar' Dirks 3f6bbe2d49 libobs: Call both get_defaults and get_defaults2
Unlike get_properties, there is not reason to not call get_defaults if it is
given in addition to get_defaults2. Additonally this fixes the bug with
'init_encoder' which would only ever call get_defaults, resulting in broken
encoders if those used get_defaults2.
2019-07-13 00:49:18 +02:00
Michael Fabian 'Xaymar' Dirks d2a71e6b1b UI: Fix toggled signal of property groups
The signal is actually called toggled(bool) and not just toggled(). Qt considers these two to be different signals.
2019-07-13 00:37:44 +02:00
jp9000 bda28b242c libobs: Fix formatting 2019-07-12 11:48:41 -07:00
brittneysclark 2b59b010bb obs-qsv: Add newer platforms to CPU enum
Adding BDW and SKL to QSV CPU enum to check CPUID before enabling newer
QSV features
2019-07-12 08:04:57 -07:00
Clayton Groeneveld 71f8a0bd5f UI: Make Dark theme group box title bold 2019-07-12 08:20:11 -05:00
Jim 36c8090492
Merge pull request #1952 from obsproject/pause
Add the ability to pause and unpause recordings
2019-07-11 19:56:41 -07:00
jpark37 1b6c55135e linux-v4l2: Add "Default" color range setting
VIDEO_RANGE_DEFAULT uses partial range for YUV and full range for RGB.
Previous default was always partial.
2019-07-10 23:40:58 -07:00
jpark37 1fc0a357d2 win-dshow: Add "Default" color range setting
VIDEO_RANGE_DEFAULT uses partial range for YUV and full range for RGB.
Previous default was always partial.
2019-07-10 23:40:53 -07:00
Matt Gajownik ca12847aa8 UI: Change default recording format to MKV 2019-07-11 15:39:46 +10:00
Colin Edwards ad85a9fa25 Apply clang-format to objective c code 2019-07-09 13:39:13 -05:00
jp9000 617086b040 obs-ffmpeg: Separate logging code
Cleans up obs-ffmpeg.c and separates all the logging code to a different
file, which can be enabled with ENABLE_FFMPEG_LOGGING.
2019-07-09 10:07:24 -07:00
wang-bin 5b6ee6e66b libobs: Clear module variable in case module reloaded
Closes obsproject/obs-studio#1957
2019-07-09 08:37:43 -07:00
Kurt Kartaltepe 4ac77ee970 linux-capture: Fix xcompcap robustness
Move xlock after initial window listing
	- XErrorLock uses static fields so when you use them recursively
	  they collide and do weird things. This keeps the two xlocks from
      colliding.

Build obs textures based on returned pixmap texture types to ensure
compatibility during copies. (prevents glCopyImageSubData failed due to
texture incompatibilities)

Fix alpha check by using pixmap depth instead of checking channel sizes
(wrong on nvidia and maybe amd hardware)

Fix X error checking, now you will get 1 BadAlloc when pixmap allocation
fails instead "glCopyImageSubData failed" every frame. (occurs on Gnome
under special circumstances)
2019-07-08 20:27:26 -07:00
Kurt Kartaltepe 499e648fff libobs-opengl: Fix GS_GL_DUMMY textures creation
Previously these textures were left in an incomplete state rendering
them usuable for most texturing operations.
2019-07-08 20:27:18 -07:00
Kurt Kartaltepe d940b9e580 libobs-opengl: Add GS_RGBX format 2019-07-08 20:27:13 -07:00
Kurt Kartaltepe 16752c4bb4 libobs-opengl: Add error enum to string function 2019-07-08 20:27:08 -07:00
jp9000 eab10d48b2 UI: Add pause support
Adds support for pausing recordings.  When settings are eligible for
recordings, a pause button will appear next to the recording button.  If
the settings are not eligible, it will warn the user in the output
settings that they cannot pause recordings if those settings are used.
2019-07-08 08:11:56 -07:00
jp9000 942ca6f709 obs-ffmpeg: Add support for pausing 2019-07-07 16:38:22 -07:00
jp9000 153fa6337f libobs: Implement pausing of outputs
This implements pausing of outputs.  To accomplish this, raw audio/video
data is halted to the encoders or raw output.  Pausing is as precisely
timed as possible according to the timing of the obs_output_pause call,
and audio data will be spliced down to the exact audio sample in
accordance to that timing at the start/end marks.

Outputs that support this (outputs used for recording) can set the
OBS_OUTPUT_CAN_PAUSE capability flag.
2019-07-07 16:38:22 -07:00
jp9000 3b581a3727 obs-ffmpeg: Remove unnecessary function
This terrible boilerplate code is no longer necessary, as it is now
fixed by the previous commit.
2019-07-07 16:38:21 -07:00
jp9000 85ca1b6918 libobs: Correct raw output starting audio data
If the audio subsystem was buffered to any extent, the audio of a raw
output would start off at a negative offset, requiring each raw output
to implement a "prepare_audio" function (as seen in the FFmpeg output)
in order to ensure proper synchronization with video.  This did not
apply to encoded outputs because it was already being performed by the
obs-encoder code.
2019-07-07 16:38:21 -07:00
jp9000 70ecbcd5d4 libobs: Add obs_get_frame_interval_ns
Returns the current video frame interval between frames, in nanoseconds.
2019-07-07 16:38:21 -07:00
jp9000 3a6a1a4ff8 UI: Don't display MP4/MOV warning if lossless 2019-07-06 09:27:40 -07:00
jp9000 8caa4f938c obs-ffmpeg: Check for replay buffer button press
The replay buffer was triggering on both button press and button
release, which is redundant.
2019-07-06 09:27:40 -07:00
jp9000 be8c063346 UI: Make adv. streaming audio encoder independent
Allows the ability to pause when streaming and recording use the same
tracks in advanced output mode.
2019-07-06 09:27:40 -07:00
James Park da87f08da4 libobs: Buffer-smoothing enhancements
If an audio source does not provide enough data at a steady pace, the
timestamp update does not happen, and buffering increases until it
maxes out. To counteract this, update the timestamp anyway.

Another issue for decoupled audio sources is that timing is not
adjusted for divergence from system time. Making this adjustment is
better for timing stability.

5+ hours of stable audio without any buffering on my GV-USB2 where it
used to add 21ms every 5 mintues or so.

Fixes https://obsproject.com/mantis/view.php?id=1269
2019-07-05 09:13:18 -07:00
James Park 534c553b23 win-dshow: Decouple audio from video
If a device produces video and audio timestamps atdifferent rates,
this divergence can cause massive buffering on the audio side, leading
to a capped audio buffer, and total sound loss. This change allows a
hardcoded list of devices to use the existing decoupling logic. For
now, only "GV-USB2" has been added.

When combined with another fix, 5+ hours of stable audio without any
buffering on my GV-USB2 where it used to drop sound completely after
an hour or so.

Partially fixes https://obsproject.com/mantis/view.php?id=1269
2019-07-05 09:12:57 -07:00
Richard Stanway ad233330f3
Merge pull request #1948 from derrod/purge-services
rtmp-services: Update and prune services
2019-07-01 22:02:49 +02:00
derrod d954853ce9 rtmp-services: Update and prune services 2019-07-01 19:56:31 +02:00
Jim 39dcdae2de
Merge pull request #1940 from bc-lee/feature/git-hyper-blame
.git-blame-ignore-revs: Add file to handle mass reformatting
2019-07-01 02:44:59 -07:00
Jim ae021213f5
Merge pull request #1945 from jpark37/fix-source-format
libobs: Fix format selection
2019-07-01 02:38:43 -07:00
Jim 84369f60e4
Merge pull request #1946 from jpark37/ternary-type-conversion
libobs-d3d11: Unnecessary type conversions
2019-07-01 02:37:51 -07:00
Richard Stanway 7f1f97a61f libobs-d3d11: Set texture using initializer list 2019-06-29 01:28:16 +02:00
Richard Stanway 0e77a2c75b obs-outputs: Minor pointer fixes 2019-06-29 01:28:16 +02:00
Richard Stanway 183cc920c8 UI: Avoid ternary operator for mixed types 2019-06-29 01:28:16 +02:00
jpark37 2ef25ceb85 libobs: Fix format selection
Fix ternary test to use BGRX render targets for YUV to RGB
conversions. The previous behavior may have been fine though since
the shaders fill the alpha channel with 1.0 anyway.
2019-06-27 08:57:41 -05:00
jpark37 8c4d98195f libobs-d3d11: Unnecessary type conversions
Use raw pointer on both sides of ternary test result to remove
conversions.
2019-06-27 08:55:26 -05:00
Byoungchan Lee 95154a17c3
.git-blame-ignore-revs: Add file to handle mass reformatting
Google's git-hyper-blame command is a variant of git-blame,
but it can ignore certain commits like mass reformatting in f53df7d .
To use git-hyper-blame, it is better to make a .git-blame-ignore-revs file
in the repository root directory and put commits in the file to ignore such
commits.

Ref: https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-hyper-blame.html
https://chromium.googlesource.com/chromium/src.git/+/437b870/.git-blame-ignore-revs
https://github.com/mozilla/gecko-dev/commits/03c48ac/.git-blame-ignore-revs
2019-06-27 01:09:31 +09:00