1package com.googlecode.mp4parser.boxes; 2 3import com.googlecode.mp4parser.AbstractBox; 4import com.googlecode.mp4parser.boxes.mp4.objectdescriptors.BitReaderBuffer; 5import com.googlecode.mp4parser.boxes.mp4.objectdescriptors.BitWriterBuffer; 6 7import java.nio.ByteBuffer; 8 9public class AC3SpecificBox extends AbstractBox { 10 int fscod; 11 int bsid; 12 int bsmod; 13 int acmod; 14 int lfeon; 15 int bitRateCode; 16 int reserved; 17 18 public AC3SpecificBox() { 19 super("dac3"); 20 } 21 22 @Override 23 protected long getContentSize() { 24 return 3; 25 } 26 27 @Override 28 public void _parseDetails(ByteBuffer content) { 29 BitReaderBuffer brb = new BitReaderBuffer(content); 30 fscod = brb.readBits(2); 31 bsid = brb.readBits(5); 32 bsmod = brb.readBits(3); 33 acmod = brb.readBits(3); 34 lfeon = brb.readBits(1); 35 bitRateCode = brb.readBits(5); 36 reserved = brb.readBits(5); 37 } 38 39 @Override 40 protected void getContent(ByteBuffer byteBuffer) { 41 BitWriterBuffer bwb = new BitWriterBuffer(byteBuffer); 42 bwb.writeBits(fscod, 2); 43 bwb.writeBits(bsid, 5); 44 bwb.writeBits(bsmod, 3); 45 bwb.writeBits(acmod, 3); 46 bwb.writeBits(lfeon, 1); 47 bwb.writeBits(bitRateCode, 5); 48 bwb.writeBits(reserved, 5); 49 } 50 51 public int getFscod() { 52 return fscod; 53 } 54 55 public void setFscod(int fscod) { 56 this.fscod = fscod; 57 } 58 59 public int getBsid() { 60 return bsid; 61 } 62 63 public void setBsid(int bsid) { 64 this.bsid = bsid; 65 } 66 67 public int getBsmod() { 68 return bsmod; 69 } 70 71 public void setBsmod(int bsmod) { 72 this.bsmod = bsmod; 73 } 74 75 public int getAcmod() { 76 return acmod; 77 } 78 79 public void setAcmod(int acmod) { 80 this.acmod = acmod; 81 } 82 83 public int getLfeon() { 84 return lfeon; 85 } 86 87 public void setLfeon(int lfeon) { 88 this.lfeon = lfeon; 89 } 90 91 public int getBitRateCode() { 92 return bitRateCode; 93 } 94 95 public void setBitRateCode(int bitRateCode) { 96 this.bitRateCode = bitRateCode; 97 } 98 99 public int getReserved() { 100 return reserved; 101 } 102 103 public void setReserved(int reserved) { 104 this.reserved = reserved; 105 } 106 107 @Override 108 public String toString() { 109 return "AC3SpecificBox{" + 110 "fscod=" + fscod + 111 ", bsid=" + bsid + 112 ", bsmod=" + bsmod + 113 ", acmod=" + acmod + 114 ", lfeon=" + lfeon + 115 ", bitRateCode=" + bitRateCode + 116 ", reserved=" + reserved + 117 '}'; 118 } 119} 120