Commit Graph

5101 Commits (c4ed55d8f40d679f2e1ff4942485b0164ef5197a)

Author SHA1 Message Date
Jim c4ed55d8f4
Merge pull request #1099 from DDRBoxman/x11
cmake: Do not require X11 on OSX
2017-12-03 10:18:16 -08:00
Jim 410a3cd40b
Merge pull request #1100 from RytoEX/fix-ci-osx
CI: Fix Mac builds on Travis CI's Xcode 8.3 image
2017-12-03 03:16:31 -08:00
Colin Edwards fcea48490f cmake: Do not require X11 on OSX 2017-12-02 22:40:10 -06:00
Ryan Foster b6348c932b CI: Fix Mac builds on Travis CI's Xcode 8.3 image
The Travis CI Xcode 8.3 image uses macOS 10.12, where some OS and Xcode
components were changed. This commit finally fixes macOS deployments on
Travis for Xcode 8.3. This commit also reverts a few changes that got
into master while we were trying to fix this.
2017-12-02 23:04:10 -05:00
Jim 51bd92b20e
Merge pull request #1096 from SuslikV/patch-1
decklink: Rename 5.1 and 7.1 multi-channel formats
2017-12-02 16:39:27 -08:00
jp9000 570cd49b6d UI: Duplicate when double-click switching is used
The studio mode double-click scene switching option disables scene
duplication, which bypasses the user's settings for scene switching in
studio mode.  This fixes it so that scenes are properly duplicated
according to the user's settings.
2017-12-02 16:36:01 -08:00
jp9000 8a38d8e60e UI: Move multiview options to view menu
Moves the multiview (fullscreen/window) options to the view menu to
reduce context menu clutter, and allow using it even when not in studio
mode.

Also adds missing translation strings.
2017-12-02 16:12:03 -08:00
jp9000 3770a24e61 UI: Fix draw issues with multiview projector
Scissor rects would affect the internal effect rendering of sources, so
scissor rectangles aren't the ideal method of restricting draw space.
Instead, use viewports and projection matrices, which are automatically
accounted for by internal source handling.
2017-12-02 15:36:32 -08:00
jp9000 60530c8206 obs-filters: Add sidechain source option to compressor
Adds a sidechain (ducking) option to the compression filter.
2017-12-02 13:59:26 -08:00
jp9000 5d9854ea44 libobs/util: Add funcs to push zeroed data to circlebufs
Adds circlebuf_push_front_zero and circlebuf_push_back_zero to
conveniently push zeroed data to the front/back of the buffer without
having to create an intermediary buffer to accomplish the same thing.
2017-12-02 13:52:40 -08:00
SuslikV 151199c388
decklink: Rename 5.1 and 7.1 multi-channel formats
Common multi-channel setup is 5.1 and 7.1 with rear speakers.

Thus only setups that include SPEAKER_SIDE_LEFT and SPEAKER_SIDE_RIGHT
needs the marking as not common (or "side" use), while it stays the
true Side setup (with side speakers) by its internal meaning.

This "side" is named "surround" by Microsoft. To not confuse users and
translators, it is wise to use "Side" mark next to format name.
2017-12-02 23:22:34 +02:00
Jim 895814aa8e
Merge pull request #1093 from derrod/update-ingests
rtmp-services: Remove Coderwall / Fix Livestream service name
2017-12-02 11:39:46 -08:00
derrod 25dcb3fb4c rtmp-services: Remove Coderwall / Fix Livestream service name 2017-12-02 19:16:45 +01:00
Jim 06dffe2359
Merge pull request #1082 from craftwar/fix-curl
CI: Fix curl download if file doesn't exist
2017-12-02 09:25:56 -08:00
Jim cf7a471370
Merge pull request #1092 from Mobcrush/jgh-/add-mobcrush-service
rtmp-services: Add Mobcrush to services list
2017-12-02 09:16:42 -08:00
pkviet 89bc6bdc03 deps/media-playback: Fix compilation with older FFmpeg versions
Fixes an issue where media-playback would not compile with older FFmpeg
versions due to the fact that the AV_PIX_FMT_VIDEOTOOLBOX was
unavailable until version 54.31.100 of libavutil (FFmpeg 2.8).

Fixes mantis issue 1045.

Closes jp9000/obs-studio#1089
2017-12-02 09:09:26 -08:00
Michel 94b5982216 obs-ffmpeg: Improve NVENC detection
Certain NVIDIA GPUs don't support NVENC, but ship with the NVENC
library, causing OBS to mistakenly think that NVENC is available when it
actually isn't.

Closes jp9000/obs-studio#1087
2017-12-02 08:08:52 -08:00
James Hurley bc91173999 rtmp-services: Add Mobcrush to services list
This commit adds Mobcrush RTMP ingest to services.json.
2017-12-02 10:13:31 -05:00
Jim a538dbe3db
Merge pull request #1090 from RytoEX/fix-travis-osx-try2
CI: Fix macOS builds on Travis CI's Xcode 8.3 image
2017-12-02 04:08:12 -08:00
Ryan Foster 4a1c415270 CI: Fix macOS builds on Travis CI's Xcode 8.3 image
The Travis CI Xcode 8.3 image uses macOS 10.12, where some OS and Xcode
components were changed. This commit should hopefully fix macOS
deployments on Travis for Xcode 8.3.
2017-12-02 04:09:48 -05:00
Shaolin 721cb3dea5 UI: Add Multiview projector
Jim note:

- Refactored code significantly
- Added a context menu option to exclude specific scenes from projectors
- Made it so multiview projectors update when scenes are
  added/removed/renamed
- Increased text quality
- Removed the color sources and replaced them with simple solid
  rectangles
- Increased the border size of "program" and "preview" scenes in the
  lower scene list

Closes jp9000/obs-studio#1068
2017-12-01 12:14:02 -08:00
jp9000 78411de75e libobs/graphics: Add gs_effect_set_color
Convenience function for setting a color (in hex format, e.g.
0xAARRGGBB)
2017-12-01 12:05:52 -08:00
Jim 5da7a90b8b
Merge pull request #1088 from RytoEX/fix-travis-osx
CI: Fix Mac builds on Travis CI's Xcode 8.3 image
2017-12-01 11:22:36 -08:00
jp9000 5d18d8f5f3 Revert "CI: OSX - Use Xcode7.3"
This reverts commit ca835ddfd2.
2017-12-01 11:07:21 -08:00
Ryan Foster af62c3648e CI: Fix Mac builds on Travis CI's Xcode 8.3 image
The Travis CI Xcode 8.3 image uses macOS 10.12, where some changes were
made to productsign, and Apple's documentation didn't clearly reflect
this. This commit should fix Mac builds on Travis for Xcode 8.3 and
clean up the job log.
2017-12-01 13:20:06 -05:00
Jim 64911222e9
Merge pull request #1084 from juvester/ci-osx-xcode73
CI: OSX - Use Xcode7.3
2017-12-01 02:38:29 -08:00
juvester ca835ddfd2 CI: OSX - Use Xcode7.3
Travis changed the default OS X build environment from Xcode7.3 to
Xcode8.3 and it seems to have broken the packaging step somehow.
Fixes the issue by reverting to Xcode7.3.
2017-12-01 01:48:13 +02:00
jp9000 7d2cda57bb UI: Fix issue where studio preview scene would stick 2017-11-30 11:42:42 -08:00
jp9000 42323ea31b UI: Fix scene override when switching off studio mode
The scene override would trigger, but the scene override variable would
stay set, causing the next transition to be the same one that was
previously used for overriding.
2017-11-30 09:51:24 -08:00
jp9000 ed7ae5839b UI: Don't override transition if quick transition
Fixes an issue where quick transitions would not function if the scene
has a transition override set for it.
2017-11-30 09:48:59 -08:00
jp9000 6461b63623 UI: Fix preview/program projectors being swapped
If a preview projector was created in normal mode, it would become a
studio projector in studio mode.  The window title of the window
projector would reflect that it was in fact a preview projector and not
a program projector.
2017-11-30 06:17:07 -08:00
cg2121 60e1d7e90b UI: Implement per-scene transition overriding
Allows the ability to override what specific transition a scene may use
when transitioning to it.

(Original proposal by cg2121, reworked by Jim)

Closes jp9000/obs-studio#1052
2017-11-30 05:10:25 -08:00
jp9000 e70b226e7e libobs: Duplicate private scene/source settings
Ensures that private settings data is also duplicated when a scene or a
source is duplicated.
2017-11-30 05:05:06 -08:00
jp9000 b5c036974f UI: Fix studio program projectors
The studio mode program view projectors used the wrong saving mechanism.
The save data was copied from the source projectors, which were
dependent on string values, where as it should have been using a boolean
true/false value for specific monitors.
2017-11-29 23:11:38 -08:00
craftwar 6ef1700c4b CI: fix curl download if file doesn't exist 2017-11-30 11:02:34 +08:00
Thomas Schnitzler 09e79aba08 win-dshow: Improve automatic Elgato audio device selection
Implement automatic audio device selection for devices that use two
separate DirectShow filters for audio and video instead of having a
single filter with audio and video output pins.

Please note that this fix is currently only active for Elgato USB and
PCIe devices (e.g. Cam Link, HD60 S, HD60 Pro, 4K60 Pro) to avoid
unintentionally changing the behavior for any other devices (e.g.
webcams).

(Jim edit: This fixes an issue with newer Elgato devices where the
devices would not automatically have their audio coupled with the video;
users would have to manually select the audio device in order to get
audio functioning.)

Closes jp9000/obs-studio#1081
2017-11-29 04:04:53 -08:00
Ryan Foster f140104da8 UI: Add Studio Mode layout option for portrait mode displays
This commit adds a checkbox to general setting to allow users to enable
a vertically oriented layout for studio mode.

This commit addresses mantis issue 827:
https://obsproject.com/mantis/view.php?id=827

Closes jp9000/obs-studio#1072
2017-11-28 22:24:57 -08:00
jp9000 68e67366d2 UI: Fix bug with studio mode double-click switching
Fixes a bug where the OBSBasic::programScene variable would not be set
for the new program scene when switching scenes via double-clicking on
them.
2017-11-28 03:38:30 -08:00
Jim 51b226654f
Merge pull request #1080 from SuslikV/patch-1
libobs: Fix height return value condition
2017-11-27 05:29:19 -08:00
SuslikV d4676e27dd
libobs: Fix height return value condition
This should fix "Output fails" when Rescale Output height set to 0.
2017-11-27 15:27:14 +02:00
jp9000 d51e2a019b docs/sphinx: Add sphinx documentation 2017-11-27 03:02:04 -08:00
jp9000 c111fa68b8 libobs: Add vertex/index buffer "direct" flush functions
(Note: This commit also modifies libobs-d3d11 and libobs-opengl)

Allows the ability to flush data directly without having to use the
buffer's internal data.

Allows the caller to manage his/her own vertex/index buffer data if
desired, working around the design flaw of having to rely on a
vertex/index buffer's internal data.
2017-11-27 03:00:20 -08:00
jp9000 a46f0b4808 libobs: Add option to duplicate vertex/index buffer data
Prevents from having to pass ownership of buffer data from caller when
using gs_vertexbuffer_create() or gs_indexbuffer_create() (which is a
design flaw).
2017-11-27 02:45:33 -08:00
jp9000 4583dcbd4d libobs-opengl: Make update_buffer data param const 2017-11-27 02:30:49 -08:00
Ryan Foster 9fce162137 UI: Add Studio Preview Projector
This commit allows a user to create projectors for the preview scene
instead of the program/live scene.

Close jp9000/obs-studio#1071
2017-11-27 00:28:03 -08:00
cg2121 3a43a047d4 UI: Add transition on double-click studio mode option
This adds the ability to switch to a scene by double-clicking it when in
studio mode.

(Edit by Jim: In case this change is undesired by the user, this has
been changed to be an option in general settings; disabled by default)

Closes jp9000/obs-studio#1029
2017-11-26 19:05:50 -08:00
Ryan Foster 79c0f0105c linux-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:01:28 -08:00
Ryan Foster d6f6af3c54 mac-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:01:22 -08:00
Ryan Foster 1db301f907 win-capture: Log window capture's target
Closes jp9000/obs-studio#983
2017-11-26 18:00:51 -08:00
pkviet bbac3280c1 libobs: Add surround sound audio support
(This commit also modifies the following modules: UI,
deps/media-playback, coreaudio-encoder, decklink, linux-alsa,
linux-pulseaudio, mac-capture, obs-ffmpeg, obs-filters, obs-libfdk,
obs-outputs, win-dshow, and win-wasapi)

Adds surround sound audio support to the core, core plugins, and user
interface.

Compatible streaming services: Twitch, FB 360 live
Compatible protocols: rtmp / mpeg-ts tcp udp
Compatible file formats: mkv mp4 ts  (others untested)
Compatible codecs: ffmpeg aac, fdk_aac, CoreAudio aac,
		   opus, vorbis, pcm (others untested).
Tested streaming servers: wowza, nginx
	 HLS, mpeg-dash : surround passthrough
Html5 players tested with live surround:
	 videojs, mediaelement, viblast (hls+dash), hls.js
Decklink: on win32, swap channels order for 5.1 7.1
         (due to different channel mapping on wav, mpeg, ffmpeg)
Audio filters: surround working.
Monitoring: surround working (win macOs linux (pulse-audio)).
VST:	 stereo plugins keep in general only the first two channels.
	 surround plugins should work (e.g. mcfx does).
OS: win, macOs, linux (alsa, pulse-audio).
Misc: larger audio bitrates unlocked to accommodate more channels
NB: mf-aac only supports mono and stereo + 5.1 on win 10
         (not implemented due to lack of usefulness)

Closes jp9000/obs-studio#968
2017-11-26 03:41:53 -08:00