Changeset 275511 in webkit
- Timestamp:
- Apr 6, 2021 6:25:01 AM (3 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r275510 r275511 1 2021-04-06 Philippe Normand <pnormand@igalia.com> 2 3 [GStreamer] Heap allocation exceptions 4 https://bugs.webkit.org/show_bug.cgi?id=224188 5 6 Reviewed by Xabier Rodriguez-Calvar. 7 8 The current GStreamer audio-related backends can't yet avoid heap allocations in the audio 9 thread, so we need exceptions for those cases. 10 11 * platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: 12 (WebCore::AudioSourceProviderGStreamer::provideInput): 13 * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: 14 (gstMemoryFastMallocNew): 15 * platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: 16 (WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable): 17 1 18 2021-04-06 Philippe Normand <pnormand@igalia.com> 2 19 -
trunk/Source/WebCore/platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
r272646 r275511 154 154 { 155 155 GST_TRACE("Fetching buffers from adapters"); 156 auto locker = holdLock(m_adapterMutex); 156 auto locker = tryHoldLock(m_adapterMutex); 157 if (!locker) 158 return; 157 159 for (auto& it : m_adapters) 158 160 copyGStreamerBuffersToAudioChannel(it.value.get(), bus, it.key - 1, framesToProcess); -
trunk/Source/WebCore/platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp
r254087 r275511 45 45 alignment |= gst_memory_alignment; 46 46 ASSERT(!((alignment + 1) & alignment)); 47 48 // GStreamer's allocator requires heap allocations. 49 DisableMallocRestrictionsForCurrentThreadScope disableMallocRestrictions; 47 50 48 51 gsize headerSize = (sizeof(GstMemoryFastMalloc) + alignment) & ~alignment; -
trunk/Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp
r274787 r275511 65 65 void RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable(const MediaTime&, const PlatformAudioData& audioData, const AudioStreamDescription& streamDescription, size_t /* sampleCount */) 66 66 { 67 DisableMallocRestrictionsForCurrentThreadScope disableMallocRestrictions; 67 68 auto data = static_cast<const GStreamerAudioData&>(audioData); 68 69 auto desc = static_cast<const GStreamerAudioStreamDescription&>(streamDescription);
Note: See TracChangeset
for help on using the changeset viewer.