This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 9fa992d01493272b87b85158192572b23189c6d8
Author: tallison <[email protected]>
AuthorDate: Fri Apr 3 07:24:23 2020 -0400

    avoid npe in MP4Parser
---
 .../java/org/apache/tika/parser/mp4/MP4Parser.java | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

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 a9addee..6d1959e 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 class MP4Parser extends AbstractParser {
 
                     // 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());
+                            }
                         }
                     }
                 }

Reply via email to