[
https://issues.apache.org/jira/browse/HTTPCLIENT-1004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12916571#action_12916571
]
oliver z edited comment on HTTPCLIENT-1004 at 9/30/10 1:53 PM:
----------------------------------------------------------------
i tried, but it still returns 0
just downloaded the sources of httpclient and httpcore - same behavior :(
getting stream...
1452 <--- i haven seen this before
0
0
0
thats how i get the InputStream:
HttpWebConnection conn = (HttpWebConnection) getWebConnection();
HttpResponse response = conn.httpClient_.execute(getStreamPost);
contentLength = response.getEntity().getContentLength();
song.setContentLength(contentLength);
is = response.getEntity().getContent();
which i pass now to my play/slider method:
private static class SongSlider extends Thread {
private static InputStream stream;
public SongSlider(InputStream stream) {
SongSlider.stream = stream;
}
@Override
public void run() {
while (true) {
try {
try {
//Playlist.jSlider1.setIrgendwas(stream.available());
System.out.println(stream.available());
} catch (IOException ex) {
Logger.getLogger(PlayThread.class.getName()).log(Level.SEVERE, null, ex);
}
sleep(100);
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
}
}
was (Author: olze84):
i tried, but it still returns 0
> EofSensorInputStreams available() always returns 0
> --------------------------------------------------
>
> Key: HTTPCLIENT-1004
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1004
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.1 Alpha2
> Environment: win 7 x64, netbeans 6.9.1, jdk6_21
> Reporter: oliver z
>
> i just wrote a little mp3 audio player which retrieves a stream and plays it.
> to make sure the user does not play further than the song has been stored
> into ram, i thought i just use the available() method from the class
> EofSensorInputStream.
> But this method always returns 0 (normal http connection), casting to a
> ByteArrayInputStream would be nice, but thats not working... so i took a look
> at the implementation of available():
> http://www.docjar.com/html/api/org/apache/http/conn/EofSensorInputStream.java.html
> 165 @Override
> 166 public int available() throws IOException {
> 167 int a = 0; // not -1
> 168
> 169 if (isReadAllowed()) {
> 170 try {
> 171 a = wrappedStream.available();
> 172 // no checkEOF() here, available() can't trigger EOF
> 173 } catch (IOException ex) {
> 174 checkAbort();
> 175 throw ex;
> 176 }
> 177 }
> 178
> 179 return a;
> 180 }
> wrappedStream is an InputStream, and InputStream says to available():
> The available method for class InputStream always returns 0.
> This method should be overridden by subclasses.
> Im not sure if this is a bug or a feature request
> Is there any other way how i can check how many bytes has been transfered
> into ram?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]