- 20 6月, 2017 1 次提交
-
-
由 jp9000 提交于
When the statistics window starts up for the first time, it reset values at that very moment so that stray lagged frames due to OBS' startup wouldn't be displayed. However, that's really a bad place to reset those values because the user could want to view the stats window after a long stream, and having those values reset when he/she views the window for the first time would sort of make the point of viewing your stats moot. Instead, reset the values only when applicable, such as after OBSInit or when video is reset.
-
- 16 6月, 2017 1 次提交
-
-
由 jp9000 提交于
System network buffers need to be given some time to fill before starting a bandwidth test. This prevents the buffers from skewing with the results.
-
- 15 6月, 2017 1 次提交
-
-
由 jp9000 提交于
When hooking DXGI-based graphics programs in the hook, the first hook point is IDXGISwapChain::Present. To be able to initiate a capture, a pointer to the device context that created the swap chain is required, which can be retrieved via IDXGISwapChain::GetDevice. Determining whether the device context was D3D10 or D3D11 has always been somewhat of an issue due to D3D10 and D3D11 being nearly identical, as well as their interoperability/interchangeability. The GetDevice function would first be called with the UUID of ID3D10Device, then if that failed, the UUID of ID3D11Device. However, with certain specific D3D11 games, GetDevice would for some unknown reason succeed with the UUID of ID3D10Device, which would cause capture to fail. (Conversely, attempting to call GetDevice with the UUID of ID3D11Device on a device that's actually ID3D10Device would always succeed, so reversing the order of the test was not an option). There were originally three known D3D11 games that would erroneously succeed when querying a D3D10 device interface: Call of Duty: Ghosts, Just Cause 3, and theHunter: Call of the Wild. All other known D3D11 games would work correctly. Because it was only these three games, a hack was originally implemented in the form of an executable exception list that would force them to capture D3D11. Unfortunately, Oculus games are now failing under the same circumstance as well, so a simple hack will no longer work. To fix this, a more reliable method of detecting which context it is had to be discovered: simply check the feature level using ID3D11Device::GetFeatureLevel. If the feature level is D3D_FEATURE_LEVEL_11_0 or D3D_FEATURE_LEVEL_11_1, the device is definitely a D3D11 device. Otherwise, continue the tests as they were before. Successfully tested with many D3D10 games, many D3D11 games, and especially those three D3D11 games that previously were detected as D3D10 erroneously.
-
- 14 6月, 2017 4 次提交
-
-
由 jp9000 提交于
Preloading is designed to overwrite the current internal render texture of the source so it'll be ready to play the first frame right when the source is first displayed. However, When the media source is set to pause on the last frame, it keeps that current render texture visible, so preloading it with the first frame will essentially overwrite the current render, causing it to inadvertently show and pause on the first frame rather than the last frame. So instead, just disable preloading when the user has it set to pause on the last frame.
-
由 jp9000 提交于
With certain media files (wmv in particular), the very last frame will have a timestamp of AV_NOPTS_VALUE. This could cause the media to stick on that frame indefinitely. Instead, use the estimated next timestamp that was calculated in the previous frame.
-
由 jp9000 提交于
Media files that have a very low framerate or very long interval between frames would cause the media playback to stall indefinitely until the next frame is played. This adds a 200ms timeout to ensure that the media can be destroyed without being forced to wait indefinitely for the next frame.
-
- 12 6月, 2017 1 次提交
-
-
由 Richard Stanway 提交于
-
- 09 6月, 2017 2 次提交
- 05 6月, 2017 1 次提交
-
- 04 6月, 2017 1 次提交
-
-
由 jp9000 提交于
Certain functions such as avformat_open_input and av_read_frame can block, causing the program to someone wait very long periods of time when a network URL is used with the media source. The interrupt_callback member variable in AVFormatContext allows safely canceling IO operations when trying to shut down or stop the media-playback interface.
-
- 30 5月, 2017 9 次提交
-
-
由 Jim 提交于
Suppress -Wimplicit-fallthrough in GCC 7
-
由 jp9000 提交于
-
由 jp9000 提交于
(Note: This commit also modifies deps/media-playback) Allows buffering network-based media sources where supported. Default is two megabytes of buffering.
-
由 jp9000 提交于
Currently, when media-playback is used with a network address, video has to wait for the first keyframe before it starts decoding. This is probably not wise because the first packet of video may contain additional header information, and because audio is forced to wait and buffer while waiting for a keyframe, potentially causing a lot of audio to get backed up unnecessarily which could inadvertently cause sync or audio playback issues. So, instead of waiting for a keyframe before decoding starts, decode right away, and make it wait for a keyframe before calling the video callback instead.
-
由 jp9000 提交于
-
由 jp9000 提交于
Limits OpenProcess flags to only the flags that are necessary to prevent any further issues with anti-cheat hooks in the future.
-
由 Shaolin 提交于
Signed-off-by: NShaolin <admshao@gmail.com>
-
由 Jim 提交于
UI: Look for plugins in ~/Library/Application Support/obs-studio/plug…
-
由 Colin Edwards 提交于
-
- 29 5月, 2017 4 次提交
-
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
When using the full installer, there'll be a section where you can choose what to install -- one section is a tree view with a "plugins" section, and in that section there's "Browser plugin" and "Realsense plugin". Instead of superfluously saying "plugin" for each of those, replace with "source" instead -- so browser source and realsense source. Also somewhat helps prevent the user from getting confused and thinking we're installing a browser or something.
-
- 27 5月, 2017 1 次提交
-
-
由 Jim 提交于
rtmp-services: Rename Beam to Mixer
-
- 26 5月, 2017 1 次提交
-
-
由 Jim 提交于
librtmp: Fix build error with ENODATA on FreeBSD
-
- 25 5月, 2017 2 次提交
-
-
由 derrod 提交于
-
由 Ryan Foster 提交于
When building on FreeBSD before this patch, it would produce the error "error: use of undeclared identifier 'ENODATA'". This fixes that.
-
- 22 5月, 2017 2 次提交
- 21 5月, 2017 9 次提交
-
-
由 jp9000 提交于
-
由 jp9000 提交于
When custom server is used, it would still use the "common" RTMP service to cap its bitrate. So if Twitch was selected and you changed over to custom RTMP server, it would still cap to Twitch's bitrate limits even though you're not using Twitch anymore.
-
由 jp9000 提交于
There's no need to reset vertex buffers like this anymore. This would unintentionally cause certain things (such as the freetype text source on windows) to stop rendering properly.
-
由 Jim 提交于
UI: Fix creation of crash log with non-english paths
-
由 mntone 提交于
-
由 Jim 提交于
enc-amf: Version 2.1.5
-
由 Michael Fabian Dirks 提交于
This has the 32-bit crash workaround as AMD has not yet fixed the AMF runtime logging crash.
-
由 jp9000 提交于