Exemple #1
0
 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;
        }
Exemple #3
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);
        }