|
Ola Developers,
Desenvolvi um aplicativo utilizando o JMF 2.1.1
onde um servidor controla os players de uma ou mais sess�es e � o respons�vel
por controlar transmiss�es multi-unicast.
Esta tudo funcionando mas quando o servidor �
instalado no ambiente de produ��o, em um linux caldera que est� atras de um
firewall, n�o consigo fazer um bind de streams provenientes da Internet, ou
seja; o servidor responde por 2 IPs (ip1 e ip2, por exemplo), onde o ip1 � da
intranet e o ip2 da internet. O fato � que os datagrams packets provenientes de
uma transmiss�o est�o chegando ao servidor corretamente ( verifiquei com um
aplicativo teste usando DatagramSocket ) mas o servidor n�o consegue efetuar o
bind. N�o ocorre erro mas tamb�m o stream n�o � capturado??!
A seguir um peda�o do c�digo utilizado para
inicializar a sess�o e capturar os streams:
Object dataSync = new
Object();
...
void StartServer()
{
SessionAddress localAddr;
SessionAddress destAddr; ... ipAddr =
InetAddress.getByName(objSessao.address); // objSessao.address � um endere�o IP
localAddr=
new SessionAddress(InetAddress.getLocalHost(), objSessao.port); //
objSessao.port=20000
destAddr = new SessionAddress(ipAddr,objSessao.port); objManager[i]
= (RTPManager) RTPManager.newInstance();
objManager[i].initialize(localAddr);
BufferControl bc =
(BufferControl)objManager[i].getControl("javax.media.control.BufferControl");
if (bc != null) bc.setBufferLength(350); objManager[i].addTarget(destAddr);
...
System.out.println("Etapa 1");
try{
synchronized (dataSync) { while (!dataReceived) { if (!dataReceived) System.out.print("."); dataSync.wait(1000); } } } catch (Exception e) {} System.out.println("Etapa
2"); ....
}
onde a variavel dataReceived ser� setada no
"update" quando um "NewReceiveStreamEvent" ocorrer:
public synchronized void update(
ReceiveStreamEvent evt) {
...
if (evt
instanceof NewReceiveStreamEvent) {
....
synchronized (dataSync) {
dataReceived = true; dataSync.notifyAll(); }
}
}
Quando envio um stream capturado de uma webcam para
o ip1(intranet) o evento NewReceiveStreamEvent � disparado mas quando envio para
o ip2(internet) n�o acontece nada e o programa fica parado no while
(!dataReceived). Alguem sabe como resolver?
[]s
Ricardo A Harari
|
- Re: [java-list] JMF - Java Media Framework help!!!! R.A.Harari
- Re: [java-list] JMF - Java Media Framework help!!... Sergio Oliveira Jr.
