package com.castlabs.dash.helpers;
import com.coremedia.iso.boxes.fragment.SampleFlags;
import com.coremedia.iso.boxes.fragment.TrackExtendsBox;
import com.coremedia.iso.boxes.fragment.TrackRunBox;
import com.googlecode.mp4parser.authoring.Sample;
import java.util.Arrays;
/**
* Created by sannies on 26.06.2015.
*/
public class SapHelper {
public static byte getFirstFrameSapType(long[] ptss, SampleFlags sapSampleFlags) {
// I_SAP, T_SAP, I_SAU, T_DEC, T_EPT, T_PTF
if (sapSampleFlags.isSampleIsDifferenceSample()) {
return 0;
} else {
long sapTS = ptss[0];
Arrays.sort(ptss);
if (sapTS == ptss[0]) {
return 1; // pts = cts
} else {
return 2; // pts != cts
}
}
}
public static SampleFlags getSampleFlags(int i, TrackRunBox trun, TrackExtendsBox trex) {
return trun.isFirstSampleFlagsPresent() ?
trun.getFirstSampleFlags() :
(trun.isSampleFlagsPresent() ? trun.getEntries().get(i).getSampleFlags() : trex.getDefaultSampleFlags());
}
}