ESDescriptor esds1 = (ESDescriptor) des1; ESDescriptor esds2 = (ESDescriptor) des2; if (esds1.getURLFlag() != esds2.getURLFlag()) { return null; if (esds1.getURLLength() != esds2.getURLLength()) { if (esds1.getDependsOnEsId() != esds2.getDependsOnEsId()) { return null; if (esds1.getEsId() != esds2.getEsId()) { return null; if (esds1.getoCREsId() != esds2.getoCREsId()) { return null; if (esds1.getoCRstreamFlag() != esds2.getoCRstreamFlag()) { return null; if (esds1.getRemoteODFlag() != esds2.getRemoteODFlag()) { return null; if (esds1.getStreamDependenceFlag() != esds2.getStreamDependenceFlag()) { return null; if (esds1.getStreamPriority() != esds2.getStreamPriority()) { if (esds1.getURLString() != null ? !esds1.getURLString().equals(esds2.getURLString()) : esds2.getURLString() != null) {
ESDescriptor descriptor = new ESDescriptor(); descriptor.setEsId(0); descriptor.setSlConfigDescriptor(slConfigDescriptor); decoderConfigDescriptor.setMaxBitRate(maxBitRate); decoderConfigDescriptor.setAvgBitRate(avgBitRate); descriptor.setDecoderConfigDescriptor(decoderConfigDescriptor); ByteBuffer data = descriptor.serialize(); esds.setData(data); audioSampleEntry.addBox(esds);
public ByteBuffer serialize() { byte[] aaa = new byte[getSize()]; ByteBuffer out = ByteBuffer.wrap(aaa); // Usually is around 30 bytes, so 200 should be enough... IsoTypeWriter.writeUInt8(out, 3); writeSize(out, getContentSize()); IsoTypeWriter.writeUInt16(out, esId); int flags = (streamDependenceFlag << 7) | (URLFlag << 6) | (oCRstreamFlag << 5) | (streamPriority & 0x1f); IsoTypeWriter.writeUInt8(out, flags); if (streamDependenceFlag > 0) { IsoTypeWriter.writeUInt16(out, dependsOnEsId); } if (URLFlag > 0) { IsoTypeWriter.writeUInt8(out, URLLength); IsoTypeWriter.writeUtf8String(out, URLString); } if (oCRstreamFlag > 0) { IsoTypeWriter.writeUInt16(out, oCREsId); } ByteBuffer dec = decoderConfigDescriptor.serialize(); ByteBuffer sl = slConfigDescriptor.serialize(); out.put(dec.array()); out.put(sl.array()); // Doesn't handle other descriptors yet return out; }
private static ChannelConfiguration getAACChannelConfig(AudioSampleEntry e, ESDescriptorBox esds) { final DecoderConfigDescriptor decoderConfigDescriptor = esds.getEsDescriptor().getDecoderConfigDescriptor(); final AudioSpecificConfig audioSpecificConfig = decoderConfigDescriptor.getAudioSpecificInfo(); ChannelConfiguration cc = new ChannelConfiguration(); cc.schemeIdUri = "urn:mpeg:dash:23003:3:audio_channel_configuration:2011"; cc.value = "2"; if (audioSpecificConfig != null && audioSpecificConfig.getChannelConfiguration() > 2) { // in case of mono let's assume stereo as it will be Parametric Stereo in most cases. cc.value = String.valueOf(audioSpecificConfig.getChannelConfiguration()); } return cc; }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); ESDescriptor esd = getEsDescriptor(); if (esd != null) { byteBuffer.put((ByteBuffer) esd.serialize().rewind()); } else { byteBuffer.put(data.duplicate()); } } }
DecoderConfigDescriptor decConf = descriptor.getDecoderConfigDescriptor(); if (decConf != null) { DecoderSpecificInfo decInfo = decConf.getDecoderSpecificInfo();
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); ESDescriptor esd = getEsDescriptor(); if (esd != null) { byteBuffer.put((ByteBuffer) esd.serialize().rewind()); } else { byteBuffer.put(data.duplicate()); } } }
ESDescriptor descriptor = new ESDescriptor(); descriptor.setEsId(0); descriptor.setSlConfigDescriptor(slConfigDescriptor); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig); descriptor.setDecoderConfigDescriptor(decoderConfigDescriptor);
ESDescriptor esds1 = (ESDescriptor) des1; ESDescriptor esds2 = (ESDescriptor) des2; if (esds1.getURLFlag() != esds2.getURLFlag()) { return null; if (esds1.getURLLength() != esds2.getURLLength()) { if (esds1.getDependsOnEsId() != esds2.getDependsOnEsId()) { return null; if (esds1.getEsId() != esds2.getEsId()) { return null; if (esds1.getoCREsId() != esds2.getoCREsId()) { return null; if (esds1.getoCRstreamFlag() != esds2.getoCRstreamFlag()) { return null; if (esds1.getRemoteODFlag() != esds2.getRemoteODFlag()) { return null; if (esds1.getStreamDependenceFlag() != esds2.getStreamDependenceFlag()) { return null; if (esds1.getStreamPriority() != esds2.getStreamPriority()) { if (esds1.getURLString() != null ? !esds1.getURLString().equals(esds2.getURLString()) : esds2.getURLString() != null) {
DecoderConfigDescriptor decConf = descriptor.getDecoderConfigDescriptor(); if (decConf != null) { DecoderSpecificInfo decInfo = decConf.getDecoderSpecificInfo();
public ByteBuffer serialize() { byte[] aaa = new byte[getSize()]; ByteBuffer out = ByteBuffer.wrap(aaa); // Usually is around 30 bytes, so 200 should be enough... IsoTypeWriter.writeUInt8(out, 3); writeSize(out, getContentSize()); IsoTypeWriter.writeUInt16(out, esId); int flags = (streamDependenceFlag << 7) | (URLFlag << 6) | (oCRstreamFlag << 5) | (streamPriority & 0x1f); IsoTypeWriter.writeUInt8(out, flags); if (streamDependenceFlag > 0) { IsoTypeWriter.writeUInt16(out, dependsOnEsId); } if (URLFlag > 0) { IsoTypeWriter.writeUInt8(out, URLLength); IsoTypeWriter.writeUtf8String(out, URLString); } if (oCRstreamFlag > 0) { IsoTypeWriter.writeUInt16(out, oCREsId); } ByteBuffer dec = decoderConfigDescriptor.serialize(); ByteBuffer sl = slConfigDescriptor.serialize(); out.put(dec.array()); out.put(sl.array()); // Doesn't handle other descriptors yet return out; }
ESDescriptor esDescriptor = new ESDescriptor(); esDescriptor.setEsId(1); DecoderConfigDescriptor decoderConfigDescriptor = new DecoderConfigDescriptor(); decoderConfigDescriptor.setObjectTypeIndication(32); decoderSpecificInfo.setData(data); decoderConfigDescriptor.setDecoderSpecificInfo(decoderSpecificInfo); esDescriptor.setDecoderConfigDescriptor(decoderConfigDescriptor); SLConfigDescriptor slConfigDescriptor = new SLConfigDescriptor(); slConfigDescriptor.setPredefined(2); esDescriptor.setSlConfigDescriptor(slConfigDescriptor);
DecoderConfigDescriptor configDescriptor = descriptor.getDecoderConfigDescriptor(); AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) {
ESDescriptor descriptor = new ESDescriptor(); descriptor.setEsId(0); descriptor.setSlConfigDescriptor(slConfigDescriptor); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig); descriptor.setDecoderConfigDescriptor(decoderConfigDescriptor);
DecoderConfigDescriptor configDescriptor = descriptor.getDecoderConfigDescriptor(); AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) {
ESDescriptor descriptor = new ESDescriptor(); descriptor.setEsId(0); descriptor.setSlConfigDescriptor(slConfigDescriptor); decoderConfigDescriptor.setMaxBitRate(maxBitRate); decoderConfigDescriptor.setAvgBitRate(avgBitRate); descriptor.setDecoderConfigDescriptor(decoderConfigDescriptor); ByteBuffer data = descriptor.serialize(); esds.setData(data); audioSampleEntry.addBox(esds);
DecoderConfigDescriptor configDescriptor = descriptor.getDecoderConfigDescriptor(); AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) {
ESDescriptor descriptor = new ESDescriptor(); descriptor.setEsId(0); descriptor.setSlConfigDescriptor(slConfigDescriptor); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig); descriptor.setDecoderConfigDescriptor(decoderConfigDescriptor);
DecoderConfigDescriptor configDescriptor = descriptor.getDecoderConfigDescriptor(); AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) {
ESDescriptor esDescriptor = new ESDescriptor(); esDescriptor.setEsId(1); DecoderConfigDescriptor decoderConfigDescriptor = new DecoderConfigDescriptor(); decoderConfigDescriptor.setObjectTypeIndication(32); decoderSpecificInfo.setData(data); decoderConfigDescriptor.setDecoderSpecificInfo(decoderSpecificInfo); esDescriptor.setDecoderConfigDescriptor(decoderConfigDescriptor); SLConfigDescriptor slConfigDescriptor = new SLConfigDescriptor(); slConfigDescriptor.setPredefined(2); esDescriptor.setSlConfigDescriptor(slConfigDescriptor);