Changes

873 bytes added ,  04:50, 15 May 2019
no edit summary
Line 10: Line 10:  
! Cmd || Name || Notes
 
! Cmd || Name || Notes
 
|-
 
|-
| 1 || OpenContinuousRecorder || Takes a total of 0x48-bytes of input and a handle, returns an [[#IContinuousRecorder]].
+
| 1 || OpenContinuousRecorder || Takes a total of 0x28-bytes of input and a handle, returns an [[#IContinuousRecorder]].
 
|-
 
|-
 
| 2 || OpenGameMovieTrimmer || Takes a total of 0x8-bytes of input and a handle, returns an [[#IGameMovieTrimmer]].
 
| 2 || OpenGameMovieTrimmer || Takes a total of 0x8-bytes of input and a handle, returns an [[#IGameMovieTrimmer]].
 
|-
 
|-
| 3 || || Takes a total of 0x8-bytes of input and a handle, returns an [[#IUnknown]].
+
| 3 || [5.0.0+] || Takes a total of 0x8-bytes of input and a handle, returns an [[#IOffscreenRecorder]].
 
|-
 
|-
| 101 || || Takes a total of 0x10-bytes of input, returns an [[#IMovieMaker]].
+
| 101 || [5.0.0+] || Takes a total of 0x10-bytes of input, returns an [[#IMovieMaker]].
 +
|-
 +
| 9903 || [5.0.0+] || Takes 8-bytes of input, no output.
 
|}
 
|}
 +
 +
[5.0.0+] OpenContinuousRecorder now takes an additional 0x20-bytes of input.
    
== IContinuousRecorder ==
 
== IContinuousRecorder ==
Line 38: Line 42:  
| 13 ||
 
| 13 ||
 
|-
 
|-
| 14 ||
+
| 14 || [5.0.0+]
 
|}
 
|}
 +
 +
[5.0.0+] Cmd11 now takes a total of 0x40-bytes of input.
 +
 +
[8.0.0+] Cmd11/cmd14 no longer take any rawdata input, these now take a type-0x15 input buffer.
    
== IGameMovieTrimmer ==
 
== IGameMovieTrimmer ==
Line 68: Line 76:  
| 1 || || No input/output.
 
| 1 || || No input/output.
 
|-
 
|-
| 2 || || Takes a total of 4-bytes of input and a type-0x6 output buffer, returns a total of 0x10-bytes of output.
+
| 2 || || Takes an input u32 (must be value 0-1) and a type-0x6 output buffer, returns a total of 0x10-bytes of output.
 
|}
 
|}
   −
= IUnknown =
+
== Cmd1 ==
 +
Begins video stream. Can only be called once.
 +
 
 +
== Cmd2 ==
 +
Retrieves video data. Takes u32 "stream" (0: video, 1: audio), returns u32 (num_frames?), u32 data_size, u64 (start_timestamp?). Video stream writes H.264 NAL units to the output buffer (try <code>ffplay -f h264</code>). Official code uses buffer size 0x32000 for video, 0x1000 for audio, and multiple threads to read out both streams at the same time.
 +
 
 +
= IOffscreenRecorder =
 +
This is "nn::grcsrv::IOffscreenRecorder".
 +
 
 +
This was added with [5.0.0+].
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 83: Line 101:  
= IMovieMaker =
 
= IMovieMaker =
 
This is "nn::grcsrv::IMovieMaker".
 
This is "nn::grcsrv::IMovieMaker".
 +
 +
This was added with [5.0.0+].
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"