/*
* Copyright (C) 2011 in-somnia
*
* This file is part of JAAD.
*
* JAAD 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 3 of the
* License, or (at your option) any later version.
*
* JAAD 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, see <http://www.gnu.org/licenses/>.
*/
package net.sourceforge.jaad.mp4.boxes.impl;
import java.io.IOException;
import net.sourceforge.jaad.mp4.MP4InputStream;
import net.sourceforge.jaad.mp4.boxes.FullBox;
/**
* The Scheme Type Box identifies the protection scheme.
*
* @author in-somnia
*/
public class SchemeTypeBox extends FullBox {
public static final long ITUNES_SCHEME = 1769239918; //itun
private long schemeType, schemeVersion;
private String schemeURI;
public SchemeTypeBox() {
super("Scheme Type Box");
}
@Override
public void decode(MP4InputStream in) throws IOException {
super.decode(in);
schemeType = in.readBytes(4);
schemeVersion = in.readBytes(4);
schemeURI = ((flags&1)==1) ? in.readUTFString((int) getLeft(in), MP4InputStream.UTF8) : null;
}
/**
* The scheme type is the code defining the protection scheme.
*
* @return the scheme type
*/
public long getSchemeType() {
return schemeType;
}
/**
* The scheme version is the version of the scheme used to create the
* content.
*
* @return the scheme version
*/
public long getSchemeVersion() {
return schemeVersion;
}
/**
* The optional scheme URI allows for the option of directing the user to a
* web-page if they do not have the scheme installed on their system. It is
* an absolute URI.
* If the scheme URI is not present, this method returns null.
*
* @return the scheme URI or null, if no URI is present
*/
public String getSchemeURI() {
return schemeURI;
}
}