/*
* RED5 Open Source Flash Server - http://code.google.com/p/red5/
*
* Copyright 2006-2012 by respective authors (see below). All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.red5.io.mp4;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import junit.framework.TestCase;
import org.junit.Test;
import org.red5.io.mp4.MP4Frame;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MP4FrameTest extends TestCase {
private static Logger log = LoggerFactory.getLogger(MP4FrameTest.class);
@Test
public void testSort() {
log.debug("Test sort");
List<MP4Frame> frames = new ArrayList<MP4Frame>(6);
//create some frames
MP4Frame frame1 = new MP4Frame();
frame1.setTime(1);
frame1.setOffset(1);
frames.add(frame1);
MP4Frame frame2 = new MP4Frame();
frame2.setTime(6);
frame2.setOffset(6);
frames.add(frame2);
MP4Frame frame3 = new MP4Frame();
frame3.setTime(660);
frame3.setOffset(660);
frames.add(frame3);
MP4Frame frame4 = new MP4Frame();
frame4.setTime(3);
frame4.setOffset(3);
frames.add(frame4);
MP4Frame frame5 = new MP4Frame();
frame5.setTime(400);
frame5.setOffset(400);
frames.add(frame5);
MP4Frame frame6 = new MP4Frame();
frame6.setTime(1000);
frame6.setOffset(1010);
frames.add(frame6);
MP4Frame frame7 = new MP4Frame();
frame7.setTime(1000);
frame7.setOffset(1000);
frames.add(frame7);
MP4Frame frame8 = new MP4Frame();
frame8.setTime(1000);
frame8.setOffset(900);
frames.add(frame8);
System.out.printf("Frame 1 - time: %s (should be 660)\n", frames.get(2).getTime());
Collections.sort(frames);
System.out.println("After sorting");
int f = 1;
for (MP4Frame frame : frames) {
System.out.printf("Frame %s - time: %s offset: %s\n", f++, frame.getTime(), frame.getOffset());
}
}
}