diff --git a/src/mediapipe_internal/mediapipefactory.cpp b/src/mediapipe_internal/mediapipefactory.cpp index 5f8deebd6b..0be6d4b3bf 100644 --- a/src/mediapipe_internal/mediapipefactory.cpp +++ b/src/mediapipe_internal/mediapipefactory.cpp @@ -141,6 +141,8 @@ Status MediapipeFactory::create(std::unique_ptr& pipelin return StatusCode::MEDIAPIPE_DEFINITION_NAME_MISSING; } auto& definition = *it->second; + // Unlock before create() which may block on graph queue, avoiding writer starvation. + lock.unlock(); return definition.create(pipeline); }