| package com.googlecode.mp4parser.boxes; |
| |
| import com.googlecode.mp4parser.AbstractBox; |
| import com.googlecode.mp4parser.boxes.mp4.objectdescriptors.BitReaderBuffer; |
| import com.googlecode.mp4parser.boxes.mp4.objectdescriptors.BitWriterBuffer; |
| |
| import java.nio.ByteBuffer; |
| |
| public class AC3SpecificBox extends AbstractBox { |
| int fscod; |
| int bsid; |
| int bsmod; |
| int acmod; |
| int lfeon; |
| int bitRateCode; |
| int reserved; |
| |
| public AC3SpecificBox() { |
| super("dac3"); |
| } |
| |
| @Override |
| protected long getContentSize() { |
| return 3; |
| } |
| |
| @Override |
| public void _parseDetails(ByteBuffer content) { |
| BitReaderBuffer brb = new BitReaderBuffer(content); |
| fscod = brb.readBits(2); |
| bsid = brb.readBits(5); |
| bsmod = brb.readBits(3); |
| acmod = brb.readBits(3); |
| lfeon = brb.readBits(1); |
| bitRateCode = brb.readBits(5); |
| reserved = brb.readBits(5); |
| } |
| |
| @Override |
| protected void getContent(ByteBuffer byteBuffer) { |
| BitWriterBuffer bwb = new BitWriterBuffer(byteBuffer); |
| bwb.writeBits(fscod, 2); |
| bwb.writeBits(bsid, 5); |
| bwb.writeBits(bsmod, 3); |
| bwb.writeBits(acmod, 3); |
| bwb.writeBits(lfeon, 1); |
| bwb.writeBits(bitRateCode, 5); |
| bwb.writeBits(reserved, 5); |
| } |
| |
| public int getFscod() { |
| return fscod; |
| } |
| |
| public void setFscod(int fscod) { |
| this.fscod = fscod; |
| } |
| |
| public int getBsid() { |
| return bsid; |
| } |
| |
| public void setBsid(int bsid) { |
| this.bsid = bsid; |
| } |
| |
| public int getBsmod() { |
| return bsmod; |
| } |
| |
| public void setBsmod(int bsmod) { |
| this.bsmod = bsmod; |
| } |
| |
| public int getAcmod() { |
| return acmod; |
| } |
| |
| public void setAcmod(int acmod) { |
| this.acmod = acmod; |
| } |
| |
| public int getLfeon() { |
| return lfeon; |
| } |
| |
| public void setLfeon(int lfeon) { |
| this.lfeon = lfeon; |
| } |
| |
| public int getBitRateCode() { |
| return bitRateCode; |
| } |
| |
| public void setBitRateCode(int bitRateCode) { |
| this.bitRateCode = bitRateCode; |
| } |
| |
| public int getReserved() { |
| return reserved; |
| } |
| |
| public void setReserved(int reserved) { |
| this.reserved = reserved; |
| } |
| |
| @Override |
| public String toString() { |
| return "AC3SpecificBox{" + |
| "fscod=" + fscod + |
| ", bsid=" + bsid + |
| ", bsmod=" + bsmod + |
| ", acmod=" + acmod + |
| ", lfeon=" + lfeon + |
| ", bitRateCode=" + bitRateCode + |
| ", reserved=" + reserved + |
| '}'; |
| } |
| } |