From 6d7d96a7511e21bb05d57be32e30554456374058 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Wed, 28 Aug 2019 22:56:20 -0400 Subject: [PATCH] Added struct AlbumFileEntry, which grcMovieMakerFinish now uses. Updated CapsApplicationAlbumEntry. --- nx/include/switch/services/caps.h | 7 ++++++- nx/include/switch/services/grc.h | 4 ++-- nx/source/services/grc.c | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/nx/include/switch/services/caps.h b/nx/include/switch/services/caps.h index 804eb298..54f5b1fe 100644 --- a/nx/include/switch/services/caps.h +++ b/nx/include/switch/services/caps.h @@ -39,9 +39,14 @@ typedef struct { CapsAlbumEntryId id; } CapsAlbumEntry; -/// ApplicationAlbumEntry +/// AlbumFileEntry typedef struct { u8 unk_x0[0x20]; +} AlbumFileEntry; + +/// ApplicationAlbumEntry +typedef struct { + u8 data[0x20]; } CapsApplicationAlbumEntry; /// ImageOrientation diff --git a/nx/include/switch/services/grc.h b/nx/include/switch/services/grc.h index f1fb468b..cf3d2c5e 100644 --- a/nx/include/switch/services/grc.h +++ b/nx/include/switch/services/grc.h @@ -144,9 +144,9 @@ Result grcMovieMakerAbort(GrcMovieMaker *m); * @param[in] appdata_size Size of the UserData input buffer. Optional, can be 0. Must be <=0x400. * @param[in] thumbnail RGBA8 image buffer containing the thumbnail. Optional, can be NULL. * @param[in] thumbnail_size Size of the thumbnail buffer. Optional, can be 0. - * @param[out] entry Output \ref CapsApplicationAlbumEntry for the recorded video. Optional, can be NULL. Only available on [7.0.0+], if this is not NULL on pre-7.0.0 an error is thrown. + * @param[out] entry Output \ref AlbumFileEntry for the recorded video. Optional, can be NULL. Only available on [7.0.0+], if this is not NULL on pre-7.0.0 an error is thrown. */ -Result grcMovieMakerFinish(GrcMovieMaker *m, s32 width, s32 height, const void* appdata, size_t appdata_size, const void* thumbnail, size_t thumbnail_size, CapsApplicationAlbumEntry *entry); +Result grcMovieMakerFinish(GrcMovieMaker *m, s32 width, s32 height, const void* appdata, size_t appdata_size, const void* thumbnail, size_t thumbnail_size, AlbumFileEntry *entry); /** * @brief Gets the recording error with the specified MovieMaker. diff --git a/nx/source/services/grc.c b/nx/source/services/grc.c index 8073ceb7..f64964b9 100644 --- a/nx/source/services/grc.c +++ b/nx/source/services/grc.c @@ -666,7 +666,7 @@ static Result _grcMovieMakerCompleteOffscreenRecordingFinishEx1(GrcMovieMaker *m return rc; } -Result grcMovieMakerFinish(GrcMovieMaker *m, s32 width, s32 height, const void* buffer0, size_t size0, const void* buffer1, size_t size1, CapsApplicationAlbumEntry *entry) { +Result grcMovieMakerFinish(GrcMovieMaker *m, s32 width, s32 height, const void* buffer0, size_t size0, const void* buffer1, size_t size1, AlbumFileEntry *entry) { Result rc=0; if (!serviceIsActive(&m->s)) @@ -679,7 +679,7 @@ Result grcMovieMakerFinish(GrcMovieMaker *m, s32 width, s32 height, const void* if (R_SUCCEEDED(rc)) rc = eventWait(&m->recording_event, U64_MAX); if (hosversionAtLeast(7,0,0)) - rc = _grcMovieMakerCompleteOffscreenRecordingFinishEx1(m, width, height, buffer0, size0, buffer1, size1, entry); + rc = _grcMovieMakerCompleteOffscreenRecordingFinishEx1(m, width, height, buffer0, size0, buffer1, size1, (CapsApplicationAlbumEntry*)entry); else rc = _grcMovieMakerCompleteOffscreenRecordingFinishEx0(m, width, height, buffer0, size0, buffer1, size1);