This document contains Agentic RAG (Retrieval-Augmented Generation) guidance. Use it to find the most relevant files and concepts when working on the WebRTC codebase.
You MUST NOT answer from your general knowledge alone. The WebRTC codebase is vast and specific. Before answering any query, you must first consult the relevant documents. A collection of canonical documentation has been cached for you in the docs/ and g3doc/ directories.
Your primary function is to assist with development tasks. Use the following guide to determine which documents to consult.
WebRTC types and functions live in the webrtc namespace. Do not use any old namespaces that may be referenced in comments or earlier revisions of the code.
webrtc::Timestamp and webrtc::TimeDelta over raw arithmetic types for time values. See issue 42223979.AutoThread. In tests, use webrtc::test::RunLoop. See issue 469327588.std::optional rather than sentinel values like -1 or 0.BUILD.gn files:gn format to ensure consistent style.deps: Check the BUILD.gn file of the failing target. Is the dependency providing the header listed in deps?#include: Is the path in the #include statement correct?gn gen <out_dir>.gn desc <out_dir> //failing:target deps.gn check <out_dir> //failing:target.deps (use gn desc).visibility list in the dependency's BUILD.gn file.