- 27 1月, 2016 1 次提交
-
-
由 bla 提交于
Closes jp9000/obs-studio#499
-
- 26 1月, 2016 26 次提交
-
-
由 jp9000 提交于
OSX has an annoying feature called "BeamSync", which on later versions of OSX is always on. For whatever reason, Apple devs decided to force this feature to always be on, so applications must always render with v-sync regardless of what they set their swap interval to. This issue would cause syncing to the vertical refresh for each additional active display, and wouldn't allow rendering above the current refresh rate. This caused major rendering stalls and prevented video frame timing from being accurate. This fixes the issue by using an undocumented set of functions to disable BeamSync. Note that because this is an undocumented method of working around the issue, its existence cannot be guaranteed. If the functions no longer exist for whatever reason, it will safely do nothing.
-
由 jp9000 提交于
Also hide adapter list if not using Direct3D.
-
由 jp9000 提交于
These really are advanced options that users shouldn't need to change normally, so moving them to advanced makes sense, and keeps them away from users who don't know what they're doing.
-
由 jp9000 提交于
If the base resolution is set to an invalid resolution, it would cause the output resolution to automatically change to an invalid resolution. After the invalid resolution was set for the output resolution, it would stay at that invalid resolution. This fixes it so it always tries to find the output resolution closest to what was last actually set or actually edited.
-
由 jp9000 提交于
When right-clicking items in the preview window and getting context menus for them, it would often make the wrong scene item be associated with the context menu because of the fact that it was using QListWidget::currentItem instead of querying the actual selected list. You must query the actual selection list via QListWidget::selectedItems because QListWidget::currentItem does not work properly for multi-selection list widgets.
-
由 jp9000 提交于
Shows a warning stating that encoding is stalling, and shows the number and percentage of frames that were skipped due to encoding.
-
由 jp9000 提交于
If a global audio device is disconnected or for whatever reason is no longer available when audio settings is opened, it will erroneously select index 0 of the combo box ("Disabled") by default because it can't find it in the combo box. This fixes that issue by making it insert an item in to the combo box specifying that the previously available audio device is no longer available, and properly preserving the user's settings.
-
由 jp9000 提交于
Some streamers would accidentally hit start/stop streaming, which on certain services would send out mass emails to all their followers. This just adds options to general settings to optionally enable dialogs that confirm whether to actually start/stop streaming when the button is clicked.
-
由 jp9000 提交于
-
由 jp9000 提交于
Because of the patch that removed the "user sources list" in libobs (70fec7ae), obs_enum_sources will now enumerate the global audio sources, where it didn't before. In the advanced audio properties dialog, before the patch I had to use code to manually include them, but I neglected to remove that code when I made that patch, so it would cause them to be added more than once. This just removes that code.
-
由 jp9000 提交于
-
由 jp9000 提交于
-
由 jp9000 提交于
When you assign a menu to a normal QPushButton, it becomes a button that only allows you to have a menu. This class lets you click the button and have a menu at the same time.
-
由 jp9000 提交于
-
由 jp9000 提交于
Fixes a bug where the preview's size calculations wouldn't update if the widget itself was resizes but the window wasn't resized.
-
由 jp9000 提交于
Allows adjusting the size of the bottom section of the main window
-
由 jp9000 提交于
Prevents glXSwapBuffers from stalling. It would have to stall and wait for the next frame for each and every single additional swap chain.
-
由 jp9000 提交于
Just in case glSwapIntervalEXT and glSwapIntervalSGI aren't available for whatever reason. This entire patch is most likely completely redundant on modern mesa drivers.
-
由 jp9000 提交于
This has been missing for a bit too long, and should make it easier/faster to diagnose issues users might be having.
-
由 jp9000 提交于
The skipped frame count (dropped frames due to encoding being overloaded) would erroneously include lagged frames (dropped frames due to render stalls). This will make diagnosing actual issues a user might be having a bit easier.
-
由 jp9000 提交于
Problem: When an output is started with encoders that have already been started by another output, and it starts in between the window in between where the first audio packets start coming in and where the first video packet comes in, the output would get audio packets with timestamps potentially much later than the first video frame when the first video frame finally comes in. The audio/video encoders will almost always have a differing delay. Solution: Detect that starting window, and if within that starting window, wait for a new keyframe from video instead of trying to sync up video. Additional Notes: In these cases where an output starts with already-active encoders, this patch also reduces the potential sync offset between the first video frame and the first audio frame. Before, it would sync the first video frame with the first audio frames right after that, but now it syncs with the closest audio frame in the interleaved array, which halves the potential sync difference between the first video frame and the first audio frame of already-active encoders. (So now the potential sync difference is roughly 11.6 milliseconds at 44.1khz audio, where it was 23.2 before)
-
由 jp9000 提交于
Ensures that the packet dts_usec vals which are generated for syncing/interleaving use the proper offset relative to where they're supposed to be starting from. The negative DTS of a first video packet could potentially have been applied twice due to this.
-
由 jp9000 提交于
Fixes potential race conditions when two threads are trying to initialize/start/stop the same encoders at the same time.
-
由 jp9000 提交于
Allows the ability to use fixed stack memory to construct a calldata_t structure rather than having to allocate each time. This is fine to do for certain signals where the calldata never goes above a specific size. If by some chance the size is insufficient, it will output a log message.
-
由 jp9000 提交于
Allows getting the timestamp for the video frame currently being rendered.
-
由 jp9000 提交于
These functions allow animated gifs and management of image files. Uses libnsgif to load animated gifs.
-
- 23 1月, 2016 7 次提交
-
-
由 jp9000 提交于
Allows loading the file to memory first so the graphics subsystem doesn't necessarily have to be locked when loading image files.
-
由 jp9000 提交于
There shouldn't be any need to call these functions manually. These functions are called automatically by obs_save_sources and obs_load_sources.
-
由 jp9000 提交于
Originally this was programmed to call the recursive height/width functions if the source type was an input with the intention of not calling it on filters, but instead of doing that just program it to do just that: only call the recursive height/width functions if it's not a filter.
-
由 jp9000 提交于
Allows transitions to be able to return a blank texture to transitions if a transition is transitioning from/to a NULL source.
-
由 jp9000 提交于
Allows gs_render_sprite to be used without a texture as long as cx/cy are set. There's no reason why it shouldn't be able to do this.
-
由 jp9000 提交于
Needless function calls here for what should be intrinsic calls
-
由 jp9000 提交于
These were in the APPLE section by mistake
-
- 15 1月, 2016 1 次提交
-
-
由 Gol-D-Ace 提交于
-
- 28 12月, 2015 1 次提交
-
-
由 jp9000 提交于
-
- 27 12月, 2015 1 次提交
-
-
由 Gol-D-Ace 提交于
-
- 22 12月, 2015 3 次提交
-
-
由 jp9000 提交于
Prevents from having to query the base audio subsystem for the sample rate each time the function is called
-
由 jp9000 提交于
Useful for going traversing the list of audio sources (particularly for the new audio subsystem)
-
由 jp9000 提交于
This was originally used for calculating audio volume if transitions were active, but transitions won't work that way so tracking the active transitions is no longer needed.
-