From 3caff7075e419991da16b034c8a3f04ee679f19d Mon Sep 17 00:00:00 2001 From: Iwan Timmer Date: Mon, 17 Feb 2014 16:55:21 +0100 Subject: [PATCH] Debug messages about alsa audio done in java --- jni/nv_alsa/nv_alsa.c | 6 +++--- src/com/limelight/binding/audio/AlsaAudioRenderer.java | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/jni/nv_alsa/nv_alsa.c b/jni/nv_alsa/nv_alsa.c index 3ecd8a3..dd5c162 100644 --- a/jni/nv_alsa/nv_alsa.c +++ b/jni/nv_alsa/nv_alsa.c @@ -43,8 +43,6 @@ int nv_alsa_play(const unsigned char* indata, int data_len) { int frames = data_len/4; /* 2 bytes/sample, 2 channels */ int rc = snd_pcm_writei(handle, indata, frames); if (rc == -EPIPE) { - /* EPIPE means underrun */ - fprintf(stderr, "underrun occurred\n"); snd_pcm_prepare(handle); } else if (rc < 0) { fprintf(stderr, @@ -53,7 +51,9 @@ int nv_alsa_play(const unsigned char* indata, int data_len) { } else if (rc != (int) frames) { fprintf(stderr, "short write, write %d frames\n", rc); - } + } + + return rc; } int nv_alsa_close(void) { diff --git a/src/com/limelight/binding/audio/AlsaAudioRenderer.java b/src/com/limelight/binding/audio/AlsaAudioRenderer.java index 19c0379..e739013 100644 --- a/src/com/limelight/binding/audio/AlsaAudioRenderer.java +++ b/src/com/limelight/binding/audio/AlsaAudioRenderer.java @@ -1,5 +1,6 @@ package com.limelight.binding.audio; +import com.limelight.LimeLog; import com.limelight.nvstream.av.audio.AudioRenderer; /** @@ -23,7 +24,12 @@ public class AlsaAudioRenderer implements AudioRenderer { @Override public void playDecodedAudio(byte[] bytes, int offset, int length) { - AlsaAudio.play(bytes, offset, length); + int rc = AlsaAudio.play(bytes, offset, length); + + if (rc<0) + LimeLog.warning("Alsa error from writei: "+rc); + else if (rc!=length/4) + LimeLog.warning("Alsa short write, write "+rc+" frames"); } @Override