decoderConfigDescriptor.setAvgBitRate(avgBitRate); AudioSpecificConfig audioSpecificConfig = new AudioSpecificConfig(); audioSpecificConfig.setOriginalAudioObjectType(2); // AAC LC audioSpecificConfig.setSamplingFrequencyIndex(firstHeader.sampleFrequencyIndex); audioSpecificConfig.setChannelConfiguration(firstHeader.channelconfig); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig);
sizeInBits += gaSpecificConfigSize();
originalAudioObjectType = audioObjectType = getAudioObjectType(bitReaderBuffer); samplingFrequencyIndex = bitReaderBuffer.readBits(4); if (extensionSamplingFrequencyIndex == 0xf) extensionSamplingFrequency = bitReaderBuffer.readBits(24); audioObjectType = getAudioObjectType(bitReaderBuffer); if (audioObjectType == 22) extensionChannelConfiguration = bitReaderBuffer.readBits(4); case 22: case 23: parseGaSpecificConfig(samplingFrequencyIndex, channelConfiguration, audioObjectType, bitReaderBuffer); parseParametricSpecificConfig(samplingFrequencyIndex, channelConfiguration, audioObjectType, bitReaderBuffer); outerSyncExtensionType = syncExtensionType = bitReaderBuffer.readBits(11); if (syncExtensionType == 0x2b7) { extensionAudioObjectType = getAudioObjectType(bitReaderBuffer); if (extensionAudioObjectType == 5) { sbrPresentFlag = bitReaderBuffer.readBool();
public ByteBuffer serialize() { ByteBuffer out = ByteBuffer.allocate(getSize()); IsoTypeWriter.writeUInt8(out, tag); writeSize(out, getContentSize()); out.put(serializeConfigBytes()); return (ByteBuffer) out.rewind(); }
protected ByteBuffer serializeConfigBytes() { ByteBuffer out = ByteBuffer.wrap(new byte[getContentSize()]); BitWriterBuffer bitWriterBuffer = new BitWriterBuffer(out); writeAudioObjectType(originalAudioObjectType, bitWriterBuffer); bitWriterBuffer.writeBits(samplingFrequencyIndex, 4); if (extensionSamplingFrequencyIndex == 0xf) bitWriterBuffer.writeBits(extensionSamplingFrequency, 24); writeAudioObjectType(audioObjectType, bitWriterBuffer); if (audioObjectType == 22) bitWriterBuffer.writeBits(extensionChannelConfiguration, 4); case 22: case 23: writeGaSpecificConfig(bitWriterBuffer); bitWriterBuffer.writeBits(outerSyncExtensionType, 11); if (outerSyncExtensionType == 0x2b7) {// 695 writeAudioObjectType(extensionAudioObjectType, bitWriterBuffer); if (extensionAudioObjectType == 5) { bitWriterBuffer.writeBool(sbrPresentFlag);
AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) { audioDecoderBytes = audioInfo.getConfigBytes();
DecoderConfigDescriptor dcd2 = esds2.getDecoderConfigDescriptor(); if (dcd1.getAudioSpecificInfo() != null && dcd2.getAudioSpecificInfo() != null && !dcd1.getAudioSpecificInfo().equals(dcd2.getAudioSpecificInfo())) { return null;
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; }
public ByteBuffer serialize() { ByteBuffer out = ByteBuffer.allocate(getSize()); IsoTypeWriter.writeUInt8(out, tag); writeSize(out, getContentSize()); out.put(serializeConfigBytes()); return (ByteBuffer) out.rewind(); }
protected ByteBuffer serializeConfigBytes() { ByteBuffer out = ByteBuffer.wrap(new byte[getContentSize()]); BitWriterBuffer bitWriterBuffer = new BitWriterBuffer(out); writeAudioObjectType(originalAudioObjectType, bitWriterBuffer); bitWriterBuffer.writeBits(samplingFrequencyIndex, 4); if (extensionSamplingFrequencyIndex == 0xf) bitWriterBuffer.writeBits(extensionSamplingFrequency, 24); writeAudioObjectType(audioObjectType, bitWriterBuffer); if (audioObjectType == 22) bitWriterBuffer.writeBits(extensionChannelConfiguration, 4); case 22: case 23: writeGaSpecificConfig(bitWriterBuffer); bitWriterBuffer.writeBits(outerSyncExtensionType, 11); if (outerSyncExtensionType == 0x2b7) {// 695 writeAudioObjectType(extensionAudioObjectType, bitWriterBuffer); if (extensionAudioObjectType == 5) { bitWriterBuffer.writeBool(sbrPresentFlag);
AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) { audioDecoderBytes = audioInfo.getConfigBytes();
DecoderConfigDescriptor dcd2 = esds2.getDecoderConfigDescriptor(); if (dcd1.getAudioSpecificInfo() != null && dcd2.getAudioSpecificInfo() != null && !dcd1.getAudioSpecificInfo().equals(dcd2.getAudioSpecificInfo())) { return null;
decoderConfigDescriptor.setAvgBitRate(avgBitrate); AudioSpecificConfig audioSpecificConfig = new AudioSpecificConfig(); audioSpecificConfig.setOriginalAudioObjectType(2); // AAC LC audioSpecificConfig.setSamplingFrequencyIndex(firstHeader.sampleFrequencyIndex); audioSpecificConfig.setChannelConfiguration(firstHeader.channelconfig); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig);
originalAudioObjectType = audioObjectType = getAudioObjectType(bitReaderBuffer); samplingFrequencyIndex = bitReaderBuffer.readBits(4); if (extensionSamplingFrequencyIndex == 0xf) extensionSamplingFrequency = bitReaderBuffer.readBits(24); audioObjectType = getAudioObjectType(bitReaderBuffer); if (audioObjectType == 22) extensionChannelConfiguration = bitReaderBuffer.readBits(4); case 22: case 23: parseGaSpecificConfig(samplingFrequencyIndex, channelConfiguration, audioObjectType, bitReaderBuffer); parseParametricSpecificConfig(samplingFrequencyIndex, channelConfiguration, audioObjectType, bitReaderBuffer); outerSyncExtensionType = syncExtensionType = bitReaderBuffer.readBits(11); if (syncExtensionType == 0x2b7) { extensionAudioObjectType = getAudioObjectType(bitReaderBuffer); if (extensionAudioObjectType == 5) { sbrPresentFlag = bitReaderBuffer.readBool();
AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) { audioDecoderBytes = audioInfo.getConfigBytes();
sizeInBits += gaSpecificConfigSize();
decoderConfigDescriptor.setAvgBitRate(avgBitRate); AudioSpecificConfig audioSpecificConfig = new AudioSpecificConfig(); audioSpecificConfig.setOriginalAudioObjectType(2); // AAC LC audioSpecificConfig.setSamplingFrequencyIndex(firstHeader.sampleFrequencyIndex); audioSpecificConfig.setChannelConfiguration(firstHeader.channelconfig); decoderConfigDescriptor.setAudioSpecificInfo(audioSpecificConfig);
AudioSpecificConfig audioInfo = configDescriptor.getAudioSpecificInfo(); if (audioInfo != null) { audioDecoderBytes = audioInfo.getConfigBytes();