mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
Only allow using video-recording with regular-application, since it's not usable with SystemApplication. Added _appletIsRegularApplication() for this.
This commit is contained in:
parent
b130d96445
commit
bcddc1ea35
@ -64,7 +64,7 @@ Result appletIsGamePlayRecordingSupported(bool *flag);
|
||||
Result appletSetGamePlayRecordingState(bool state);
|
||||
|
||||
/// Initializes video recording. This allocates a 0x6000000-byte buffer for the TransferMemory, cleanup is handled automatically during app exit in \ref appletExit.
|
||||
/// Only available with AppletType_*Application on 3.0.0+, hence errors from this can be ignored.
|
||||
/// Only available with AppletType_Application on 3.0.0+, hence errors from this can be ignored.
|
||||
/// Video recording is only fully available system-side with 4.0.0+.
|
||||
/// Only usable when running under a title which supports video recording.
|
||||
Result appletInitializeGamePlayRecording(void);
|
||||
|
@ -271,6 +271,10 @@ static bool _appletIsApplication(void) {
|
||||
return __nx_applet_type == AppletType_Application || __nx_applet_type == AppletType_SystemApplication;
|
||||
}
|
||||
|
||||
static bool _appletIsRegularApplication(void) {
|
||||
return __nx_applet_type == AppletType_Application;
|
||||
}
|
||||
|
||||
void appletExit(void)
|
||||
{
|
||||
if (atomicDecrement64(&g_refCnt) == 0)
|
||||
@ -737,7 +741,7 @@ Result appletIsGamePlayRecordingSupported(bool *flag) {
|
||||
|
||||
if (flag) *flag = 0;
|
||||
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsApplication())
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
@ -776,7 +780,7 @@ static Result _appletInitializeGamePlayRecording(TransferMemory *tmem) {
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsApplication())
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
@ -817,7 +821,7 @@ Result appletSetGamePlayRecordingState(bool state) {
|
||||
IpcCommand c;
|
||||
ipcInitialize(&c);
|
||||
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsApplication() || g_appletRecordingInitialized==0)
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication() || g_appletRecordingInitialized==0)
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
|
||||
if (!kernelAbove300())
|
||||
@ -859,7 +863,7 @@ Result appletInitializeGamePlayRecording(void) {
|
||||
g_appletRecordingInitialized = 0;
|
||||
|
||||
//These checks are done in the called applet funcs, but do it here too so that tmemCreate() doesn't run when it's not needed.
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsApplication())
|
||||
if (!serviceIsActive(&g_appletSrv) || !_appletIsRegularApplication())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_NotInitialized);
|
||||
if (!kernelAbove300())
|
||||
return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer);
|
||||
|
Loading…
Reference in New Issue
Block a user