diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mp4/MP4Parser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mp4/MP4Parser.java index 0d6f0681d9..f568839166 100644 --- a/tika-parsers/src/main/java/org/apache/tika/parser/mp4/MP4Parser.java +++ b/tika-parsers/src/main/java/org/apache/tika/parser/mp4/MP4Parser.java @@ -200,16 +200,18 @@ public void parse( // Get the sample information SampleTableBox samples = track.getSampleTableBox(); - SampleDescriptionBox sampleDesc = samples.getSampleDescriptionBox(); - if (sampleDesc != null) { - // Look for the first Audio Sample, if present - AudioSampleEntry sample = getOrNull(sampleDesc, AudioSampleEntry.class); - if (sample != null) { - XMPDM.ChannelTypePropertyConverter.convertAndSet(metadata, sample.getChannelCount()); - //metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, sample.getSampleSize()); // TODO Num -> Type mapping - metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int) sample.getSampleRate()); - //metadata.set(XMPDM.AUDIO_, sample.getSamplesPerPacket()); - //metadata.set(XMPDM.AUDIO_, sample.getBytesPerSample()); + if (samples != null) { + SampleDescriptionBox sampleDesc = samples.getSampleDescriptionBox(); + if (sampleDesc != null) { + // Look for the first Audio Sample, if present + AudioSampleEntry sample = getOrNull(sampleDesc, AudioSampleEntry.class); + if (sample != null) { + XMPDM.ChannelTypePropertyConverter.convertAndSet(metadata, sample.getChannelCount()); + //metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, sample.getSampleSize()); // TODO Num -> Type mapping + metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int) sample.getSampleRate()); + //metadata.set(XMPDM.AUDIO_, sample.getSamplesPerPacket()); + //metadata.set(XMPDM.AUDIO_, sample.getBytesPerSample()); + } } } }