gecko-dev/dom/media/gmp
Andrew Osmond 128aa4833c Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu
When the GMP process crashes, we may still attempt to deref a null
pointer for the underlying IPDL object in the content process before we
finish shutting down the decoder.

This patch fixes the crash by checking for the null pointer, but also
now caches the plugin type as an enum for use elsewhere in the code.
This minimizes checking the display name of the plugin everywhere to
guess the plugin properties.

Differential Revision: https://phabricator.services.mozilla.com/D177773
2023-05-17 11:49:37 +00:00
..
gmp-api Bug 1830297 - Bump OpenH264 version to 2.3.2. r=jmaher,media-playback-reviewers,padenot 2023-04-27 14:55:39 +00:00
rlz
widevine-adapter Bug 1827035. r=media-playback-reviewers,padenot 2023-05-04 13:19:57 +00:00
CDMStorageIdProvider.cpp
CDMStorageIdProvider.h
ChromiumCDMAdapter.cpp Bug 1826215 - Add more diagnostics to isolate GMPChild::RecvStartPlugin related crashes. r=media-playback-reviewers,azebrowski 2023-04-03 21:55:20 +00:00
ChromiumCDMAdapter.h
ChromiumCDMCallback.h
ChromiumCDMCallbackProxy.cpp
ChromiumCDMCallbackProxy.h
ChromiumCDMChild.cpp Bug 1822413. r=media-playback-reviewers,alwu 2023-03-21 14:23:16 +00:00
ChromiumCDMChild.h Bug 1822413. r=media-playback-reviewers,alwu 2023-03-21 14:23:16 +00:00
ChromiumCDMParent.cpp
ChromiumCDMParent.h
ChromiumCDMProxy.cpp Bug 1810817 - p1: move common CDM proxy functions around. r=alwu 2023-02-07 03:43:48 +00:00
ChromiumCDMProxy.h Bug 1810817 - p1: move common CDM proxy functions around. r=alwu 2023-02-07 03:43:48 +00:00
DecryptJob.cpp
DecryptJob.h
GMPCallbackBase.h Bug 1821480. r=media-playback-reviewers,alwu 2023-04-27 01:52:32 +00:00
GMPChild.cpp Bug 1829641 - Only normalize file paths in parent in behalf of GMP process. r=media-playback-reviewers,alwu 2023-04-25 12:49:58 +00:00
GMPChild.h Bug 1824465 - Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt 2023-04-19 22:10:08 +00:00
GMPContentChild.cpp
GMPContentChild.h
GMPContentParent.cpp Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPContentParent.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPCrashHelper.h
GMPCrashHelperHolder.cpp
GMPCrashHelperHolder.h
GMPDiskStorage.cpp
GMPLoader.cpp Bug 1826885 - Add GMP library load error code to crash report. r=jrmuizel 2023-04-06 21:27:48 +00:00
GMPLoader.h
GMPLog.h Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPMemoryStorage.cpp
GMPMessageUtils.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPNativeTypes.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPParent.cpp Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPParent.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPPlatform.cpp
GMPPlatform.h
GMPProcessChild.cpp Bug 1824465 - Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt 2023-04-19 22:10:08 +00:00
GMPProcessChild.h Bug 1824465 - Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt 2023-04-19 22:10:08 +00:00
GMPProcessParent.cpp Bug 1829641 - Only normalize file paths in parent in behalf of GMP process. r=media-playback-reviewers,alwu 2023-04-25 12:49:58 +00:00
GMPProcessParent.h Bug 1829641 - Only normalize file paths in parent in behalf of GMP process. r=media-playback-reviewers,alwu 2023-04-25 12:49:58 +00:00
GMPSanitizedExports.h
GMPService.cpp Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPService.h Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPServiceChild.cpp Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPServiceChild.h Bug 1663844 - Part 1. Expose GMP video decoder codec support if enabled. r=media-playback-reviewers,azebrowski 2023-04-03 18:05:49 +00:00
GMPServiceParent.cpp Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPServiceParent.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPSharedMemManager.cpp
GMPSharedMemManager.h Bug 1663844 - Part 2. Ensure we resolve decode promises with GMPVideoDecoder. r=media-playback-reviewers,azebrowski 2023-04-03 18:05:49 +00:00
GMPStorage.h
GMPStorageChild.cpp
GMPStorageChild.h
GMPStorageParent.cpp
GMPStorageParent.h
GMPTimerChild.cpp
GMPTimerChild.h
GMPTimerParent.cpp
GMPTimerParent.h
GMPTypes.ipdlh Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPUtils.cpp Bug 1663844 - Part 1. Expose GMP video decoder codec support if enabled. r=media-playback-reviewers,azebrowski 2023-04-03 18:05:49 +00:00
GMPUtils.h Bug 1663844 - Part 1. Expose GMP video decoder codec support if enabled. r=media-playback-reviewers,azebrowski 2023-04-03 18:05:49 +00:00
GMPVideoDecoderChild.cpp
GMPVideoDecoderChild.h
GMPVideoDecoderParent.cpp Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPVideoDecoderParent.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPVideoDecoderProxy.h Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
GMPVideoEncodedFrameImpl.cpp
GMPVideoEncodedFrameImpl.h
GMPVideoEncoderChild.cpp
GMPVideoEncoderChild.h
GMPVideoEncoderParent.cpp
GMPVideoEncoderParent.h Bug 1821480. r=media-playback-reviewers,alwu 2023-04-27 01:52:32 +00:00
GMPVideoEncoderProxy.h
GMPVideoHost.cpp
GMPVideoHost.h
GMPVideoi420FrameImpl.cpp Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPVideoi420FrameImpl.h Bug 1827703 - Improve integration with OpenH264 decoder. r=media-playback-reviewers,padenot 2023-04-18 14:47:42 +00:00
GMPVideoPlaneImpl.cpp
GMPVideoPlaneImpl.h
moz.build Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
mozIGeckoMediaPluginChromeService.idl
mozIGeckoMediaPluginService.idl Bug 1663844 - Part 1. Expose GMP video decoder codec support if enabled. r=media-playback-reviewers,azebrowski 2023-04-03 18:05:49 +00:00
PChromiumCDM.ipdl
PGMP.ipdl Bug 1824465 - Part 5: Make PGMP refcounted, r=media-playback-reviewers,karlt 2023-04-19 22:10:08 +00:00
PGMPContent.ipdl
PGMPService.ipdl Bug 1832354 - Fix null pointer deref after GMP process crash. r=media-playback-reviewers,alwu 2023-05-17 11:49:37 +00:00
PGMPStorage.ipdl
PGMPTimer.ipdl
PGMPVideoDecoder.ipdl
PGMPVideoEncoder.ipdl
README.txt

This directory contains code supporting Gecko Media Plugins (GMPs). The GMP API is not the same thing as the Media Plugin API (MPAPI).