Commit graph

53 commits

Author SHA1 Message Date
Zakk
ed107cf61b Clean up some pixel transfer sessions on dealloc
Prevent double-remove of audio source from the audio engine
Improve memory use of movie source (don't use unreasonably large buffer)
Fix instant recorder output (wasn't writing trailer data)
2017-12-17 15:57:35 -05:00
Zakk
980961137e Re-implement audio level meters as normal NSViews with drawRect instead of CALayers with masks
If a PCM player is in a pending exit state, refuse to queue more PCM samples (so we don't leak them)
When an FFMPEG movie player deallocates, check if we still have a retained CVPixelBuffer and release it if we do.
2017-12-10 07:58:01 -05:00
Zakk
af6c5b1606 Removed a bunch of NSLogs
Audio engine mixer nodes now dynamically allocate input busses as needed, and reuse ones from disconnected nodes.
2017-12-09 09:02:32 -05:00
Zakk
426df6465d Dealloc pixel buffer pool when FFMPegPlayer is realloced 2017-12-06 05:54:06 -05:00
Zakk
a7c744bf40 Added a callback for CAMultiAudio node inputs when they are removed from an engine. This allows the PCM player to clean up the pending deallocation queue.
Chased down some more minor memory leaks in the ffmpeg movie player
2017-12-04 05:31:23 -05:00
Zakk
d4238c2224 Allocate one single buffer for planar PCM data, instead of multiple buffers.
Expose the single buffer as a property, so 'external' libraries can write PCM data into it.
Convert FFMPEG player so it uses the new single buffer system.
Add missing audio frame deallocation in ffmpeg movie audio consumer.
2017-12-04 01:37:39 -05:00
Zakk
f8925a449d Fix some movie playback related memory leaks 2017-12-03 15:35:28 -05:00
Zakk
a63c01b009 Properly restore name of movie input 2017-12-01 22:07:52 -05:00
Zakk
aafa92bffe Add pcm input creation into CSCaptureBase. This version is audio engine aware, so it will work properly for recorders 2017-11-27 01:06:07 -05:00
Zakk
44c284a122 Emit notifications when audio inputs are added or removed.
Have audio source type listen for audio add notifications in their engine and apply audio settings if it is relevant.
FFMPEG movie source now generates proper UUIDs for the PCMPlayer
2017-11-26 23:32:08 -05:00
Zakk
8f69fd87d1 Fix up some warnings and ffmpeg related deprecations 2017-11-24 23:12:39 -05:00
Zakk
261fdba402 Add video delay support to Layout and FFMpeg movie source 2017-11-07 23:40:16 -05:00
Zakk
55ff80767c Fixed some warnings.
Added video delay feature. Not all sources support it.
2017-11-07 16:16:48 -05:00
Zakk
d4e7404f74 Remove all 'frame update type' settings 2017-11-05 16:38:20 -05:00
Zakk
119e831125 Some warning fixes, memory leak issues with blackmagic 2017-11-04 14:38:35 -04:00
Zachary Girouard
12c19f5ee5 Change the source outline view so it doesn't leak CFStrings (!?!?!) 2017-10-29 12:08:14 -04:00
Zakk
eba2c9b524 Some changes to support newer ffmpeg (3.4) 2017-10-25 14:53:24 -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
Zakk
76be216538 Movie input changes so first video frame is displayed if auto-play isn't enabled.
Fixed order of audio delay node removal to stop error console spam when removing movies or audio files
2017-09-24 06:29:21 -04:00
Zakk
e89711623d Make movie seeking more reliable and less stupid 2017-09-21 08:16:20 -04:00
Zakk
4c9573bc8a Double clicking an input in the input list opens the input's config window 2017-08-25 14:10:18 -04:00
Zakk
808ec6bc93 Remove audio input when movie is deleted from a layout 2017-08-25 13:36:50 -04:00
Zakk
0f17a0b588 Simple transition now properly sets the direction 2017-08-22 10:39:51 -04:00
Zakk
f99d7d2f8a Sound and movie sources now have durations and animations are added based on these durations. Allows delaying of layout transitions until media is done playing 2017-08-22 00:53:42 -04:00
Zakk
91c50bcb60 Added repeat options to move source 2017-08-11 05:17:15 -04:00
Zakk
8c04337918 Text file source drag+drop 2017-08-06 01:31:05 -04:00
Zakk
6fbd46a6b5 ffmpeg movie queue is now drag+drop reorder able 2017-07-31 01:22:45 -04:00
Zakk
78a3e9723f Movie files can now be dropped directly into the movie source queue list 2017-07-30 22:39:30 -04:00
Zakk
1cdf7cf8fe Audio files can now be dropped directly into the layout source list.
Reworked how capture plugins are interrogated for media/drop support
2017-07-30 01:44:21 -04:00
Zakk
b2637b74aa Added drag and drop file support to input library window 2017-07-22 18:36:37 -04:00
Zakk
3278c67ce9 Added image for ffmpeg movie input type.
Added audio sources to add source popup list
Fixed some crashes when layouts were destroyed
2017-07-16 04:51:30 -04:00
Zakk
466bf9bdc2 Always maintain a minimum of 12 Layouts (experimental).
Improve performance of FFmpeg movie seeking
2017-07-14 01:24:24 -04:00
Zakk
107dd58152 ffmpeg movie player supports dropping of videolan and mpeg4 UTIs.
ffmpeg movie player renders one frame upon creation, so the layer is properly sized and displayed.
Changed ffmpeg player pause/play functionality to fix crash
Changed how audio PCM player handles samples when it isn't enabled. Instead of discarding samples, it just sets itself as muted/unmuted. Discarding samples caused issues with audio timing if the player was fed samples before it was enabled.
2017-07-12 10:37:00 -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
0c5b423163 Fixed a bunch of warnings.
Start work towards supporting non-video Input sources. Created an InputSource protocol and base class.
2017-06-26 00:51:10 -04:00
Zakk
652e4e0b80 Cleaned up init functions of some input plugins; defer heavy initialization until required 2017-04-09 10:52:28 -04:00
Zakk
d61c019ad4 Add animatable volume control to audio nodes 2017-04-09 08:51:13 -04:00
Zakk
ada259ac61 Newly added sources are now auto-centered in the layout and sized according to their source size. If the input is bigger than the layout window it is resized to the layout's dimensions. 2016-11-25 12:02:45 -05:00
Zakk
8eba5fa9b2 Merge branch '2.0UI' 2016-11-19 10:34:15 -05: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
4152dc6c59 More work on OAuth2 service.
change to stream service protocol and OutputDestination to support async/delayed fetching of output destination.
Twitch output config allows re-auth to a different account and auto-fetching of the stream key when stream starts.
2016-07-23 15:47:33 -04:00
Zakk
eef5f972b6 Set version to 2.0.8. Change FFMpeg movie source to deployment target 10.8 so assets work on 10.9 2016-07-04 14:11:53 -04:00
Zakk
68b608eca0 Fix circular retain due to blocks 2016-07-02 23:56:09 -04:00
Zakk
e4b1435916 Added options for starting playback and seeking when movies go live 2016-07-02 23:50:31 -04:00
Zakk
d8c8b403e5 Twiddle settings on NSTreeController so it stops retaining objects even if they're deleted from the bound array 2016-07-02 21:48:42 -04:00
Zakk
b1d94a41fc Change to converting output frames to AV_PIXFMT_NV12, as this is easier to convert to a CVPixelBuffer without weird padding/interleaving issues 2016-06-27 11:16:50 -04:00
Zakk
bd17b49612 Allow/cleanup manual adding of Movie source strings (paths or network urls) 2016-06-27 06:04:35 -04:00
Zakk
41f3c337ab Renamed FFMPeg to 'Movie' and the old movie to 'AppleMovie' 2016-06-27 04:35:17 -04:00
Zakk
127f5933e8 Reworked FFMPeg player UI. It's almost useful now 2016-06-27 04:06:03 -04:00