diff options
Diffstat (limited to 'isoparser/src/main/java/com/googlecode/mp4parser/boxes/ultraviolet/.svn/text-base/BaseLocationBox.java.svn-base')
-rw-r--r-- | isoparser/src/main/java/com/googlecode/mp4parser/boxes/ultraviolet/.svn/text-base/BaseLocationBox.java.svn-base | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/ultraviolet/.svn/text-base/BaseLocationBox.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/ultraviolet/.svn/text-base/BaseLocationBox.java.svn-base new file mode 100644 index 0000000..1c63293 --- /dev/null +++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/ultraviolet/.svn/text-base/BaseLocationBox.java.svn-base @@ -0,0 +1,103 @@ +/* + * Copyright 2011 castLabs, Berlin + * + * 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 com.googlecode.mp4parser.boxes.ultraviolet; + +import com.coremedia.iso.IsoTypeReader; +import com.coremedia.iso.Utf8; +import com.googlecode.mp4parser.AbstractFullBox; + +import java.nio.ByteBuffer; + +/** + * + */ +public class BaseLocationBox extends AbstractFullBox { + String baseLocation = ""; + String purchaseLocation = ""; + + public BaseLocationBox() { + super("bloc"); + } + + public BaseLocationBox(String baseLocation, String purchaseLocation) { + super("bloc"); + this.baseLocation = baseLocation; + this.purchaseLocation = purchaseLocation; + } + + public String getBaseLocation() { + return baseLocation; + } + + public void setBaseLocation(String baseLocation) { + this.baseLocation = baseLocation; + } + + public String getPurchaseLocation() { + return purchaseLocation; + } + + public void setPurchaseLocation(String purchaseLocation) { + this.purchaseLocation = purchaseLocation; + } + + @Override + protected long getContentSize() { + return 1028; + } + + @Override + public void _parseDetails(ByteBuffer content) { + parseVersionAndFlags(content); + baseLocation = IsoTypeReader.readString(content); + content.get(new byte[256 - Utf8.utf8StringLengthInBytes(baseLocation) - 1]); + purchaseLocation = IsoTypeReader.readString(content); + content.get(new byte[256 - Utf8.utf8StringLengthInBytes(purchaseLocation) - 1]); + content.get(new byte[512]); + } + + @Override + protected void getContent(ByteBuffer byteBuffer) { + writeVersionAndFlags(byteBuffer); + byteBuffer.put(Utf8.convert(baseLocation)); + byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(baseLocation)]); // string plus term zero + byteBuffer.put(Utf8.convert(purchaseLocation)); + byteBuffer.put(new byte[256 - Utf8.utf8StringLengthInBytes(purchaseLocation)]); // string plus term zero + byteBuffer.put(new byte[512]); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + BaseLocationBox that = (BaseLocationBox) o; + + if (baseLocation != null ? !baseLocation.equals(that.baseLocation) : that.baseLocation != null) return false; + if (purchaseLocation != null ? !purchaseLocation.equals(that.purchaseLocation) : that.purchaseLocation != null) + return false; + + return true; + } + + @Override + public int hashCode() { + int result = baseLocation != null ? baseLocation.hashCode() : 0; + result = 31 * result + (purchaseLocation != null ? purchaseLocation.hashCode() : 0); + return result; + } +} |