15 Commits

Author SHA1 Message Date
palana
25c1a1130c Add ClosableStream support to ReplayBuffer 2014-09-24 15:20:27 +02:00
palana
d200d851c4 Close Replay Buffer output file before calling API 2014-09-01 05:44:53 +02:00
palana
b3817488b4 Add API support for Replay Buffer
Closes https://github.com/jp9000/OBS/issues/374
2014-09-01 05:03:10 +02:00
palana
e8784e00c9 Report start recording from replay buffer to plugins
Bump API version because recording length can now be longer than the
time between OnStartRecording and OnStopRecording
2014-09-01 04:51:54 +02:00
palana
45a5cf9e57 Improve RecordingHelper::SaveThread shutdown behaviour
This gives unfinished recordings a bit more time to write the remaining
buffered packets before threads are (potentially) terminated
2014-08-21 21:54:10 +02:00
palana
6bf971b84a Throttle RecordingHelper::AddPacket to keep buffer from filling RAM
For each incoming video packet two more video packets should be written
by the save thread to make sure that the buffer drains
2014-08-21 21:18:46 +02:00
palana
b5f803084e Share memory between ReplayBuffer and RecordingHelper 2014-08-21 21:18:27 +02:00
palana
0f668e132b Add Record from Replay Buffer
This basically saves the current replay buffer and continues recording
to the saved file. The recording uses the standard file path.
2014-08-21 21:18:19 +02:00
palana
0cd1d0a84a Add separate setting for Replay Buffer File Path 2014-08-21 02:29:41 +02:00
palana
38f96367d1 Separate Replay Buffer from normal file recording 2014-08-21 02:29:40 +02:00
palana
94158089d9 Release packets earlier in the ReplayBuffer
With very high bitrate settings the replay buffer would severely violate
the memory usage estimate because it wouldn't release any frames until
it was done writing the file, which could take a long time depending
on the storage subsystem
2014-08-17 20:32:46 +02:00
palana
bf37050f94 Fix typo in Replay Buffer 2014-08-17 18:45:59 +02:00
palana
1a48661f62 Limit ReplayBuffer thread init time when shutting down
In particular, querying all encoder metadata has
to be completed before any of the encoder
destructors are allowed to run. Normally this isn't
a problem, unless saving and stopping the replay
buffer happen in quick succession
2014-08-17 01:34:52 +02:00
palana
5f2d02da87 Rename ThreadDeleter to ThreadCloser and add proper ThreadDeleter 2014-08-16 19:28:12 +02:00
palana
787d9a9aa9 Add ReplayBuffer
Buffers at least the configured amount of seconds of video and audio
packets and writes them to a new file when SaveReplayBuffer is called
2014-08-13 00:37:23 +02:00