// AppendAudioInBuffer(u64 tag, buffer<nn::audio::AudioInBuffer, 5>) public ResultCode AppendAudioInBuffer(ServiceCtx context) { long position = context.Request.SendBuff[0].Position; ulong bufferTag = context.RequestData.ReadUInt64(); AudioUserBuffer data = MemoryHelper.Read <AudioUserBuffer>(context.Memory, position); return(_impl.AppendBuffer(bufferTag, ref data)); }
[CommandHipc(8)] // 3.0.0+ // AppendAudioInBufferAuto(u64 tag, buffer<nn::audio::AudioInBuffer, 0x21>) public ResultCode AppendAudioInBufferAuto(ServiceCtx context) { (long position, _) = context.Request.GetBufferType0x21(); ulong bufferTag = context.RequestData.ReadUInt64(); AudioUserBuffer data = MemoryHelper.Read <AudioUserBuffer>(context.Memory, position); return(_impl.AppendBuffer(bufferTag, ref data)); }
[CommandHipc(10)] // 3.0.0+ // AppendUacInBufferAuto(u64 tag, handle<copy, event>, buffer<nn::audio::AudioInBuffer, 0x21>) public ResultCode AppendUacInBufferAuto(ServiceCtx context) { (long position, _) = context.Request.GetBufferType0x21(); ulong bufferTag = context.RequestData.ReadUInt64(); uint handle = (uint)context.Request.HandleDesc.ToCopy[0]; AudioUserBuffer data = MemoryHelper.Read <AudioUserBuffer>(context.Memory, position); return(_impl.AppendUacBuffer(bufferTag, ref data, handle)); }
/// <summary> /// Append a new audio buffer to the audio output. /// </summary> /// <param name="bufferTag">The unique tag of this buffer.</param> /// <param name="userBuffer">The buffer informations.</param> /// <returns>A <see cref="ResultCode"/> reporting an error or a success.</returns> public ResultCode AppendBuffer(ulong bufferTag, ref AudioUserBuffer userBuffer) { lock (_parentLock) { AudioBuffer buffer = new AudioBuffer { BufferTag = bufferTag, DataPointer = userBuffer.Data, DataSize = userBuffer.DataSize }; if (_session.AppendBuffer(buffer)) { return(ResultCode.Success); } return(ResultCode.BufferRingFull); } }
public ResultCode AppendBuffer(ulong bufferTag, ref AudioUserBuffer buffer) { return((ResultCode)_system.AppendBuffer(bufferTag, ref buffer)); }
public ResultCode AppendUacBuffer(ulong bufferTag, ref AudioUserBuffer buffer, uint handle) { return((ResultCode)_system.AppendUacBuffer(bufferTag, ref buffer, handle)); }