Requests: Edit PlayPauseMedia (#685)

* Request: Edit PlayPauseMedia

Removed requirement for boolean paramater from PlayPauseMedia. Changed
PlayPauseMedia to toggle play state if there is no boolean paramater.

* Docs: Edit PlayPauseMedia 

This commit also fixes some syntax

* will reset

* Add missing star to L48

Co-authored-by: tt2468 <tt2468@gmail.com>
This commit is contained in:
Christopher P. Yarger 2021-03-03 19:18:57 -05:00 committed by GitHub
parent b8e693c97d
commit 2344842163
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -44,9 +44,10 @@ QString getSourceMediaState(obs_source_t *source)
/**
* Pause or play a media source. Supports ffmpeg and vlc media sources (as of OBS v25.0.8)
* Note :Leaving out `playPause` toggles the current pause state
*
* @param {String} `sourceName` Source name.
* @param {boolean} `playPause` Whether to pause or play the source. `false` for play, `true` for pause.
* @param {boolean} `playPause` (optional) Whether to pause or play the source. `false` for play, `true` for pause.
*
* @api requests
* @name PlayPauseMedia
@ -54,7 +55,7 @@ QString getSourceMediaState(obs_source_t *source)
* @since 4.9.0
*/
RpcResponse WSRequestHandler::PlayPauseMedia(const RpcRequest& request) {
if ((!request.hasField("sourceName")) || (!request.hasField("playPause"))) {
if (!request.hasField("sourceName")) {
return request.failed("missing request parameters");
}
@ -68,8 +69,16 @@ RpcResponse WSRequestHandler::PlayPauseMedia(const RpcRequest& request) {
if (!source) {
return request.failed("specified source doesn't exist");
}
obs_source_media_play_pause(source, playPause);
if (!request.hasField("playPause")) {
if (obs_source_media_get_state(source) == obs_media_state::OBS_MEDIA_STATE_PLAYING) {
obs_source_media_play_pause(source, true);
} else {
obs_source_media_play_pause(source, false);
}
} else {
bool playPause = obs_data_get_bool(request.parameters(), "playPause");
obs_source_media_play_pause(source, playPause);
}
return request.success();
}