Mercurial > hg > pulseaudio
changeset 163:6695cbc7fe43
2008-10-06 Omair Majid <omajid@redhat.com>
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
(read): Continue reading if peek returns null.
* src/native/org_classpath_icedtea_pulseaudio_Stream.c
(Java_org_classpath_icedtea_pulseaudio_Stream_native_1pa_1stream_1peek):
Return null if no data to read.
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Mon, 06 Oct 2008 17:03:22 -0400 |
parents | fa7dd0d762f1 |
children | e688b471726e |
files | src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java src/native/org_classpath_icedtea_pulseaudio_Stream.c |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Oct 06 15:36:55 2008 -0400 +++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Mon Oct 06 17:03:22 2008 -0400 @@ -219,11 +219,12 @@ /* read a fragment, and drop it from the server */ currentFragment = stream.peek(); + stream.drop(); if (currentFragment == null) { System.out .println("DEBUG: PulseAudioTargetDataLine:read(): error in stream.peek()"); - return sizeRead; + continue; } bytesRead = Math.min(currentFragment.length,
--- a/src/native/org_classpath_icedtea_pulseaudio_Stream.c Mon Oct 06 15:36:55 2008 -0400 +++ b/src/native/org_classpath_icedtea_pulseaudio_Stream.c Mon Oct 06 17:03:22 2008 -0400 @@ -560,6 +560,11 @@ return NULL; } + /* no data available */ + if (startLocation == NULL) { + return NULL; + } + jsize length = count; jbyteArray data = (*env)->NewByteArray(env, length);