fyhertz / libstreaming

A solution for streaming H.264, H.263, AMR, AAC using RTP on Android
Apache License 2.0
3.48k stars 1.07k forks source link

Streaming H264 sometimes fail #145

Open Harris-wu opened 8 years ago

Harris-wu commented 8 years ago

this device cpu is mt8127 this android version is 4.4.2

when I use it steaming to server,sometimes fail

the fail code,in Class: ViedeoStream Method: encodeWithMediaRecorder()

InputStream is = mReceiver.getInputStream(); try { byte buffer[] = new byte[4]; // Skip all atoms preceding mdat atom while (!Thread.interrupted()) { int read = is.read(); while (read != 'm') { read = is.read(); } is.read(buffer, 0, 3); if (buffer[0] == 'd' && buffer[1] == 'a' && buffer[2] == 't') break; } } catch (IOException e) {} this is log of Excetion:

java.io.IOException: Try again at android.net.LocalSocketImpl.read_native(Native Method) at android.net.LocalSocketImpl.access$300(LocalSocketImpl.java:33) at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:76) at net.majorkernelpanic.streaming.video.VideoStream.encodeWithMediaRecorder(VideoStream.java:384) at net.majorkernelpanic.streaming.MediaStream.start(MediaStream.java:226) at net.majorkernelpanic.streaming.video.VideoStream.start(VideoStream.java:270) at net.majorkernelpanic.streaming.video.H264Stream.start(H264Stream.java:99) at net.majorkernelpanic.streaming.Session.syncStart(Session.java:525) at net.majorkernelpanic.streaming.Session.syncStart(Session.java:576) at net.majorkernelpanic.streaming.rtsp.RtspClient$4.run(RtspClient.java:301) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:61)

rerlanggas commented 8 years ago

hi dude, i got some problem , when i streaming always get message try again, any help??

sbaar commented 8 years ago

Try using sSuggestedMode =MODE_MEDIACODEC_API in media stream. Media Recorder is sketchy.