private static void get_audio_buffer_stats(IntPtr sessionPtr, ref libspotify.sp_audio_buffer_stats statsPtr) { if (AudioBufferStats != null) { AudioBufferStats(ref statsPtr); } }
private void Session_AudioBufferStats(ref libspotify.sp_audio_buffer_stats obj) { if (_wave == null) { //LogTo.Trace("STDP: Session_AudioBufferStats: _wave null"); return; } obj.samples = _wave.BufferedBytes / 2; // (16 bit audio -> 2 bytes per sample) obj.stutter = _jitter; _jitter = 0; }
private static void get_audio_buffer_stats(IntPtr sessionPtr, IntPtr statsPtr) { libspotify.sp_audio_buffer_stats stats = (libspotify.sp_audio_buffer_stats)Marshal.PtrToStructure(statsPtr, typeof(libspotify.sp_audio_buffer_stats)); // we can't report anything back if we're not set up yet. if (soundBuffer == null) { return; } stats.samples = soundBuffer.BufferedBytes / 2; // TODO: detect stutters and send back to spotify stats.stutter = 0; // write it back Marshal.StructureToPtr(stats, statsPtr, true); }