@@ -13,9 +13,7 @@ import org.mp4parser.boxes.iso14496.part14.ESDescriptorBox
1313import org.mp4parser.boxes.iso14496.part15.AvcConfigurationBox
1414import org.mp4parser.boxes.sampleentry.AudioSampleEntry
1515import org.mp4parser.boxes.sampleentry.VisualSampleEntry
16- import java.nio.ByteBuffer
1716import java.util.*
18- import kotlin.reflect.jvm.isAccessible
1917
2018class Track (id : Int , format : MediaFormat , audio : Boolean ) {
2119
@@ -172,39 +170,15 @@ class Track(id: Int, format: MediaFormat, audio: Boolean) {
172170
173171 val audioSpecificConfig = AudioSpecificConfig ()
174172
175- // Fix for com.googlecode.mp4parser:isoparser multiple version management
176- // Updates based on
177- // https://github.com/sannies/mp4parser/commit/9cf7f9185b294ac4fa1cd86be1915cd355d859eb#diff-5860894eeaba912c09de175e617d53d5beecebeadd2b64695ed736f9e598bf55
178- // and
179- // https://github.com/sannies/mp4parser/commit/b85f62274b56cc68d6c6e3dc2f9d4e23318e3341#diff-5860894eeaba912c09de175e617d53d5beecebeadd2b64695ed736f9e598bf55
180- //
181- val method = audioSpecificConfig::class .members.firstOrNull { it.name == " setOriginalAudioObjectType" }
182- if (method != null ) {
183- // com.googlecode.mp4parser:isoparser is >= 1.1
184- method.isAccessible = true
185- method.call(audioSpecificConfig, 2 )
186- audioSpecificConfig.setSamplingFrequencyIndex(
187- samplingFrequencyIndexMap[audioSampleEntry.sampleRate.toInt()]!!
188- )
189- audioSpecificConfig.setChannelConfiguration(audioSampleEntry.channelCount)
190- decoderConfigDescriptor.audioSpecificInfo = audioSpecificConfig
191- descriptor.decoderConfigDescriptor = decoderConfigDescriptor
192-
193- esds.esDescriptor = descriptor
194- } else {
195- // com.googlecode.mp4parser:isoparser is < 1.1 (eg: 1.0.6)
196- audioSpecificConfig.setAudioObjectType(2 )
197- audioSpecificConfig.setSamplingFrequencyIndex(
198- samplingFrequencyIndexMap[audioSampleEntry.sampleRate.toInt()]!!
199- )
200- audioSpecificConfig.setChannelConfiguration(audioSampleEntry.channelCount)
201- decoderConfigDescriptor.audioSpecificInfo = audioSpecificConfig
202- descriptor.decoderConfigDescriptor = decoderConfigDescriptor
203-
204- val data = descriptor.serialize()
205- esds.esDescriptor = descriptor
206- esds.data = data
207- }
173+ audioSpecificConfig.setOriginalAudioObjectType(2 )
174+ audioSpecificConfig.setSamplingFrequencyIndex(
175+ samplingFrequencyIndexMap[audioSampleEntry.sampleRate.toInt()]!!
176+ )
177+ audioSpecificConfig.setChannelConfiguration(audioSampleEntry.channelCount)
178+ decoderConfigDescriptor.audioSpecificInfo = audioSpecificConfig
179+ descriptor.decoderConfigDescriptor = decoderConfigDescriptor
180+
181+ esds.esDescriptor = descriptor
208182
209183 audioSampleEntry.addBox(esds)
210184 sampleDescriptionBox.addBox(audioSampleEntry)
0 commit comments