diff --git a/Source/WebCore/PAL/pal/spi/cocoa/MediaToolboxSPI.h b/Source/WebCore/PAL/pal/spi/cocoa/MediaToolboxSPI.h index f9a7f670aacc..b234d002a16e 100644 --- a/Source/WebCore/PAL/pal/spi/cocoa/MediaToolboxSPI.h +++ b/Source/WebCore/PAL/pal/spi/cocoa/MediaToolboxSPI.h @@ -42,6 +42,7 @@ enum { kMTPluginFormatReaderError_AllocationFailure = -16501, kMTPluginFormatReaderError_ParsingFailure = -16503, + kMTPluginFormatReaderError_InternalFailure = -16504, kMTPluginSampleCursorError_NoSamples = -16507, kMTPluginSampleCursorError_LocationNotAvailable = -16508, kMTPluginByteSourceError_EndOfStream = -16511, diff --git a/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp b/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp index 6a6bdf2f71ca..53b15db1fb67 100644 --- a/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp +++ b/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2020-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -279,6 +279,9 @@ OSStatus MediaFormatReader::copyTrackArray(CFArrayRef* trackArrayCopy) return m_parseTracksStatus.has_value() || action.aborted(); }); + if (action.aborted()) + return kMTPluginFormatReaderError_InternalFailure; + if (*m_parseTracksStatus != noErr) return *m_parseTracksStatus;