mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Requests: Add GetMediaInputState
This commit is contained in:
parent
7403264d42
commit
08eb2defbc
@ -108,6 +108,7 @@ set(obs-websocket_SOURCES
|
|||||||
src/requesthandler/RequestHandler_SceneItems.cpp
|
src/requesthandler/RequestHandler_SceneItems.cpp
|
||||||
src/requesthandler/RequestHandler_Stream.cpp
|
src/requesthandler/RequestHandler_Stream.cpp
|
||||||
src/requesthandler/RequestHandler_Record.cpp
|
src/requesthandler/RequestHandler_Record.cpp
|
||||||
|
src/requesthandler/RequestHandler_MediaInputs.cpp
|
||||||
src/requesthandler/rpc/Request.cpp
|
src/requesthandler/rpc/Request.cpp
|
||||||
src/requesthandler/rpc/RequestResult.cpp
|
src/requesthandler/rpc/RequestResult.cpp
|
||||||
src/forms/SettingsDialog.cpp
|
src/forms/SettingsDialog.cpp
|
||||||
|
@ -97,6 +97,9 @@ const std::map<std::string, RequestMethodHandler> RequestHandler::_handlerMap
|
|||||||
{"PauseRecord", &RequestHandler::PauseRecord},
|
{"PauseRecord", &RequestHandler::PauseRecord},
|
||||||
{"ResumeRecord", &RequestHandler::ResumeRecord},
|
{"ResumeRecord", &RequestHandler::ResumeRecord},
|
||||||
//{"GetRecordDirectory", &RequestHandler::GetRecordDirectory},
|
//{"GetRecordDirectory", &RequestHandler::GetRecordDirectory},
|
||||||
|
|
||||||
|
// Media Inputs
|
||||||
|
{"GetMediaInputStatus", &RequestHandler::GetMediaInputStatus},
|
||||||
};
|
};
|
||||||
|
|
||||||
RequestHandler::RequestHandler(SessionPtr session) :
|
RequestHandler::RequestHandler(SessionPtr session) :
|
||||||
|
@ -119,6 +119,9 @@ class RequestHandler {
|
|||||||
RequestResult ResumeRecord(const Request&);
|
RequestResult ResumeRecord(const Request&);
|
||||||
RequestResult GetRecordDirectory(const Request&);
|
RequestResult GetRecordDirectory(const Request&);
|
||||||
|
|
||||||
|
// Media Inputs
|
||||||
|
RequestResult GetMediaInputStatus(const Request&);
|
||||||
|
|
||||||
SessionPtr _session;
|
SessionPtr _session;
|
||||||
static const std::map<std::string, RequestMethodHandler> _handlerMap;
|
static const std::map<std::string, RequestMethodHandler> _handlerMap;
|
||||||
};
|
};
|
||||||
|
21
src/requesthandler/RequestHandler_MediaInputs.cpp
Normal file
21
src/requesthandler/RequestHandler_MediaInputs.cpp
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include "RequestHandler.h"
|
||||||
|
|
||||||
|
RequestResult RequestHandler::GetMediaInputStatus(const Request& request)
|
||||||
|
{
|
||||||
|
RequestStatus::RequestStatus statusCode;
|
||||||
|
std::string comment;
|
||||||
|
OBSSourceAutoRelease input = request.ValidateInput("inputName", statusCode, comment);
|
||||||
|
if (!input)
|
||||||
|
return RequestResult::Error(statusCode, comment);
|
||||||
|
|
||||||
|
json responseData;
|
||||||
|
responseData["mediaState"] = Utils::Obs::StringHelper::GetMediaInputStateString(input);
|
||||||
|
|
||||||
|
auto mediaState = obs_source_media_get_state(input);
|
||||||
|
if (mediaState == OBS_MEDIA_STATE_PLAYING || mediaState == OBS_MEDIA_STATE_PAUSED) {
|
||||||
|
responseData["mediaDuration"] = obs_source_media_get_duration(input);
|
||||||
|
responseData["mediaCursor"] = obs_source_media_get_time(input);
|
||||||
|
}
|
||||||
|
|
||||||
|
return RequestResult::Success(responseData);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user