Passage sous cupcake :)
Peu de modification de code, il faut juste creer des fichier aidl pour les
classes parcelables.
Sinon les fichier de build.xml ont ete completement modifiés, j'ai remplacé
par les nouveaux. (il doit y avoir un manque de precision dans le fichier
build.properties)
/**
* Java RTP Library (jlibrtp)
* Copyright (C) 2006 Arne Kepp
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package jlibrtp;
import java.net.DatagramSocket;
/**
* Validates the PktBuffer and associated classes.
*
* @author Arne Kepp
*
*/
public class ValidatePktBuffer {
/**
* Instantiates a buffer, creates some packets, adds them and sorts them.
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DatagramSocket rtpSocket = null;
DatagramSocket rtcpSocket = null;
try {
rtpSocket = new DatagramSocket(6002);
rtcpSocket = new DatagramSocket(6003);
} catch (Exception e) {
System.out.println("RTPSession failed to obtain port");
}
RTPSession rtpSession = new RTPSession(rtpSocket, rtcpSocket);
String str1 = "ab";
String str2 = "cd";
String str3 = "ef";
String str4 = "gh";
String str5 = "ij";
String str6 = "kl";
//String str7 = "mn";
long syncSource1 = 1;
int seqNumber1 = 1;
//int seqNumber2 = 1;
RtpPkt pkt1 = new RtpPkt(10, syncSource1, 1, 0, str1.getBytes());
RtpPkt pkt2 = new RtpPkt(20, syncSource1, 2, 0, str2.getBytes());
RtpPkt pkt3 = new RtpPkt(30, syncSource1, 3, 0, str3.getBytes());
RtpPkt pkt4 = new RtpPkt(40, syncSource1, 4, 0, str4.getBytes());
RtpPkt pkt6 = new RtpPkt(60, syncSource1, 6, 0, str5.getBytes());
RtpPkt pkt7 = new RtpPkt(70, syncSource1, 7, 0, str6.getBytes());
Participant p = new Participant();
PktBuffer pktBuf = new PktBuffer(rtpSession, p, pkt1);
pktBuf.addPkt(pkt3); //2
pktBuf.addPkt(pkt2); //3
DataFrame aFrame = pktBuf.popOldestFrame();
String outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 1 Data from first frame: " + outStr + ", should be ab");
pktBuf.addPkt(pkt4); //3
pktBuf.addPkt(pkt7); //4
System.out.println("** 1.5 sixth");
pktBuf.addPkt(pkt6); //5
System.out.println("** 2 Duplicate, should be dropped");
pktBuf.addPkt(pkt3); //5
// Pop second frame
aFrame = pktBuf.popOldestFrame(); //4
outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 3 Data from second frame: " + outStr + ", should be cd");
// Pop third frame
aFrame = pktBuf.popOldestFrame(); //3
outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 4 Data from third frame: " + outStr + ", should be ef");
System.out.println("** 5 pktBuf.getLength is " + pktBuf.getLength() + ", should be 3");
System.out.println("** 6 Late arrival, should be dropped");
pktBuf.addPkt(pkt2);
aFrame = pktBuf.popOldestFrame();
outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 7 Data from fourth frame: " + outStr + ", should be gh");
aFrame = pktBuf.popOldestFrame();
outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 8 Data from fifth frame: " + outStr + ", should be ij");
aFrame = pktBuf.popOldestFrame();
outStr = new String(aFrame.getConcatenatedData());
System.out.println("** 9 Data from fifth frame: " + outStr + ", should be kl");
}
}