Skip to content

Commit 0eda8f9

Browse files
committed
requesthandler: Add SplitRecordFile request
1 parent 3b873ce commit 0eda8f9

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/requesthandler/RequestHandler.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ const std::unordered_map<std::string, RequestMethodHandler> RequestHandler::_han
177177
{"ToggleRecordPause", &RequestHandler::ToggleRecordPause},
178178
{"PauseRecord", &RequestHandler::PauseRecord},
179179
{"ResumeRecord", &RequestHandler::ResumeRecord},
180+
{"SplitRecordFile", &RequestHandler::SplitRecordFile},
180181

181182
// Media Inputs
182183
{"GetMediaInputStatus", &RequestHandler::GetMediaInputStatus},

src/requesthandler/RequestHandler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ class RequestHandler {
196196
RequestResult ToggleRecordPause(const Request &);
197197
RequestResult PauseRecord(const Request &);
198198
RequestResult ResumeRecord(const Request &);
199+
RequestResult SplitRecordFile(const Request &);
199200

200201
// Media Inputs
201202
RequestResult GetMediaInputStatus(const Request &);

src/requesthandler/RequestHandler_Record.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,25 @@ RequestResult RequestHandler::ResumeRecord(const Request &)
189189

190190
return RequestResult::Success();
191191
}
192+
193+
/**
194+
* Splits the current file being recorded into a new file.
195+
*
196+
* @requestType SplitRecordFile
197+
* @complexity 2
198+
* @rpcVersion -1
199+
* @initialVersion 5.5.0
200+
* @api requests
201+
* @category record
202+
*/
203+
RequestResult RequestHandler::SplitRecordFile(const Request &)
204+
{
205+
if (!obs_frontend_recording_active())
206+
return RequestResult::Error(RequestStatus::OutputNotRunning);
207+
208+
if (!obs_frontend_recording_split_file())
209+
return RequestResult::Error(RequestStatus::RequestProcessingFailed,
210+
"Verify that file splitting is enabled in the output settings.");
211+
212+
return RequestResult::Success();
213+
}

0 commit comments

Comments
 (0)