Я понимаю поток buffer
полезен для IO в целом.Stream Buffer для голосового чата/voIP?
Я хотел бы спросить, как buffer
следует использовать в режиме реального времени Voip приложений, , такие как поток в (Android) MediaRecorder выход -> LocalSocket -> UDP/RTP
Для меня это выглядит как там нет пространство для буфера любого потока.
Правильно ли я? или я пропускаю что-то важное?
Как об эффективности ресурса устройства (CPU & Buttery), когда не использовать буфер в этом случае?
псевдокод
//UNIX type localSocket Server to receive stream from mediaRecorder
server = new LocalServerSocket(SOCKET_ADDRESS);
// local socket between mediaRecorder and localSocket Server
sender = new LocalSocket();
sender.connect(new LocalSocketAddress(SOCKET_ADDRESS));
//mediaRecorder
mRecorder = new MediaRecorder();
//.....................
//sender.getFileDescriptor() is set as the vitual Outputfile
mRecorder.setOutputFile(sender.getFileDescriptor());
mRecorder.prepare();
mRecorder.start();
//localSocket Server accept the stream to receiver
receiver = server.accept();
int val;
byte[] buf;
DatagramPacket packet;
ds = new DatagramSocket(localPort);
while (localServerLoop)
{
//receiver stream is read to (int)val
val = receiver.getInputStream().read();
//======localServer to remoteUDP======================
// (int)val to (byte)buf
buf = toBytes(val);
// byte to packet
packet = new DatagramPacket(buf, buf.length,
InetAddress.getByName(remoteHost), remotePort);
//send to remoteHost
ds.send(packet);
//=========================
}
Спасибо за ваш очень информативный ответ. Я исследую их. –