Commit graph

76 commits

Author SHA1 Message Date
Zakk
384161c891 Version 2.1.14 2020-05-25 19:17:30 -04:00
Zakk
787da4129d Update CSVirtualCamera output settings view to display a link to installer if it is not installed.
Don't use hardcoded test camera UID
2020-05-25 18:46:54 -04:00
Zakk
5c331e0513 Update some text in Virtual camera UI 2020-05-23 03:27:23 -04:00
Zakk
2a2aa7eb91 Added plugin API for outputting sound to an audio device, using a simple CAAudioGraph
Virtual camera output uses above API to output the layout's audio to a user selected system audio device
2020-05-22 05:08:11 -04:00
Zakk
4a79eb3d54 Send layout along with LayoutDeleted notification instead of CaptureController (!?) 2020-05-18 01:40:12 -04:00
Zakk
474929e089 Virtual camera output now has configurable pixel format
Update to latest camera SDK
2020-05-18 01:15:36 -04:00
Zakk
040e339bca Add save/restore settings to Virtual Camera output 2020-05-17 04:00:37 -04:00
Zakk
62972f1dfb Fixed dumb bug that was causing metal rendering to be disabled.
Pass output layout name to Stream service plugins so they can potentially use it for naming etc.
More work on Virtual Camera output
Add more pixel formats to Passthrough compressor
2020-05-17 03:28:31 -04:00
Zakk
970bea7db2 Drop frames if the compressor queue gets too deep (hardcoded to 10 frames, may make it dynamic later?)
Re-enable proper restoration of audio input source settings (oops)
Clear layout source list if a layout recording is stopped and there is no longer a recorder attached to the layout
Fix OAuth request percent encoding for auth codes
Don't change ffmpeg input source size on input file swap
Uninit audio unit with setting input stream format
Start of virtual camera plugin (soooooon). Disabled for now
Update Youtube output plugin
2020-05-15 00:11:52 -04:00
Zakk
4226e7facc Update TPCircularBuffer to get rid of deprecation warnings
Fix some warnings
2020-02-03 03:24:09 -05:00
Zakk
6fd1223bdc Removed 'force format' from global output settings; individual plugins are responsible for specifying output formats and allowing users to change them.
Support segmentation for file output. This is based on libavformat's segment muxer. May move it to a custom internal file rotator in the future.
Changed instant record buffer to a rotating disk based buffer. Saving a live recording now just remuxes a time range of the on-disk buffer to a new file.
2019-10-30 04:30:36 -04:00
Zakk
2b3374bd1e NDI output now updates statistics properly.
Recording outputs are now part of the normal Output window and can be configured and toggled from there.
Added flag to set an output as either streaming or recording.
Stream button -> start streaming outputs, record button -> start recording outputs.
2019-07-28 05:29:45 -04:00
Zakk
59e32cff22 Send twitchAPI v5 accept headers 2019-07-26 04:35:20 -04:00
Zakk
3d9f0de198 Made NDI output aware of multi track audio
Fix live/staging layouts not saving resolution or background settings
Added default settings to x264 encoder
2019-06-14 04:41:55 -04:00
Zakk
fe99869347 Update settings files for localization changes Xcode was complaining about.
When restoring audio engine, don't re-attach the default output track
2019-06-06 05:54:15 -04:00
Zakk
272ccb363c Add refresh button to Youtube config: it grabs an updated list of active events/streams 2018-12-31 19:26:00 -05:00
Zakk
b61e6217d5 Fix some warnings.
Restore dark UI mode when running non-Mojave systems.  Still ugly, tho.
On older systems (earlier than 10.12) set CALayer preview view contents to the IOSurface, not the CVPixelBuffer
2018-12-30 05:41:48 -05:00
Zakk
614c935fa7 Change point where audio graph is started to reduce bogus audio data on startup.
Fix the advanced audio window layout under Mojave
2018-10-27 06:46:03 -04:00
Zakk
317157c7c5 Adjust NDI dlopen() path to assume the library is installed in /usr/local/lib. Hardened executables don't use DYLD_FALLBACK_PATH 2018-10-26 21:50:02 -04:00
Zakk
62649f0e26 Change some plugin deployment targets so they work on 10.10
Only set NSApp.appearance on 10.14
Bump version to 2.1.5
2018-10-13 04:51:35 -04:00
Zakk
e4762d2c48 Fix more warnings.
Don't constantly rebuild the x264 format extensions every frame; only rebuild if compressor values have changed
2018-08-04 19:38:26 -04:00
Zakk
4883820f07 Fix some warnings.
Don't crash if an image capture file path doesn't exist
2018-07-31 23:20:26 -04:00
Zakk
f26d8f9d1b Fix various minor memory leaks.
Deallocate a transition's input if it is no longer needed.
2018-07-21 02:10:41 -04:00
Zakk
db113d6d7e Fixed some warnings 2018-04-14 05:17:11 -04:00
Zakk
db9493832b Added output plugin for Mixer (mixer.com). Only RTMP for now. FTL possible in the future 2018-04-13 09:23:32 -04:00
Zakk
c088da982f Added a few pixel format choices the the Passthrough compressor.
Rearranged compressor saving so the base class handles the base class' attributes.
NDI Output now properly sets row stride and pixel formats
2018-04-12 06:24:02 -04:00
Zachary Girouard
6fbb8a50ae Fix up various crashes in stream outputs due to lack of internet/failed queries 2018-04-12 00:01:56 -04:00
Zachary Girouard
ad2ab00693 Don't try to parse json if twitch ingest API returns an error.
Don't try to parse response if OAuth request errors
2018-04-11 23:42:23 -04:00
Zakk
dd9b89c258 Update project settings for new Xcode.
added dummyAnimation function to animation input wrapper.
slightly reworked how input.waitAnimation() works; the previous implementation possibly messed with other input timings.
converted input transitions to use input specific waits and dummy animations. This allows scripts/other transitions to run simultaneously
2018-03-31 08:14:13 -04:00
Zakk
635393f190 Fixed some warnings 2018-02-06 05:50:56 -05:00
Zakk
c4c7fc4e0b Fix some warnings 2018-01-25 04:55:49 -05:00
Zakk
46362e71ce Added a passthrough compressor: it repackages the image buffer into a CMSampleBuffer. This isn't a copy, so it is possibly still an on-GPU texture
CapturedFrameData send to outputs now contains both AAC encoded audio and raw PCM
Added an NDI output type
2018-01-22 01:35:22 -05:00
Zakk
4e58ecb47a Stream Services now have a dedicated base class, no longer combined with an output writer
Stream Services now have a method that returns a new instance of a CSOutputWriterProtocol compliant class, the base class creates a CSOutputBase for you.
2018-01-20 23:23:33 -05:00
Zakk
29637a3c01 Convert all stream service plugins to subclasses of CSOutputBase 2018-01-20 22:51:24 -05:00
Zakk
1eca658971 lavf based writer (CSOutputBase) no longer takes AVPackets as input, all video now comes in via CMSampleBuffers
Converted x264 compressor to package the encoded data into a CMSampleBuffer; removed unneeded code and properties from various classes.
Compressors no longer set a codec_id, it is set inside the sample buffer now
2018-01-20 22:34:52 -05:00
Zakk
e373058237 Change FFMpegTask to CSOutputBase and split it into public/private 2018-01-20 19:39:14 -05:00
Zakk
d3afb2e503 Change icon.
Rename hitbox to smashcast
2017-11-14 22:03:41 -05:00
Zakk
6c29d1002e Added a terrible app icon: icon switches colors with stream status.
Add user notifications when outputs error and restart.
2017-11-12 09:47:32 -05:00
Zakk
55ff80767c Fixed some warnings.
Added video delay feature. Not all sources support it.
2017-11-07 16:16:48 -05:00
Zachary Girouard
12c19f5ee5 Change the source outline view so it doesn't leak CFStrings (!?!?!) 2017-10-29 12:08:14 -04:00
Zakk
83de164c0d Fixed some warnings.
Changed Image source to use NSImages as the CALayer contents, and improved handling of intermediate CGImage/CGImageSource. Fixes a potential memory leak when image sources are used
2017-10-24 05:26:46 -04:00
zakk4223
d9dee6611e Merge pull request #81 from MaddTheSane/gitignore
Add .gitignore file
2017-07-02 03:00:43 -04:00
Zakk
1bb640cbe0 Added script-only input type.
First pass at executing input-scripts on layout changes/operations.
2017-07-02 02:36:29 -04:00
Zakk
c7765f98d4 Added protocol for encoded audio receiver
cleaned up more warnings
2017-06-26 11:08:09 -04:00
Zakk
d61c019ad4 Add animatable volume control to audio nodes 2017-04-09 08:51:13 -04:00
Zakk
a03b312a46 Added support for Twitch's new bandwidth test stream feature. 2016-12-18 07:51:43 -05:00
Zakk
8eba5fa9b2 Merge branch '2.0UI' 2016-11-19 10:34:15 -05:00
Zakk
3df9ce53c8 Changes to Twitch ingest fetching to fulfill their new client-id requirement 2016-09-14 20:48:40 -04:00
Zakk
cb449e5bc2 Some updates for Sierra, hack for the stupid individual transition add+effect.
Remove dependency on SyphonInject extra menu
2016-08-31 06:30:43 -04:00
Zakk
386a25a9fe Add icons for stream service menu items 2016-07-31 14:16:23 -04:00