include_rules = [
  "+third_party/libyuv",
  "+webrtc/base",
  "+webrtc/common_video",
  "+webrtc/media",
  "+webrtc/p2p",
  "+webrtc/pc",
]

specific_include_rules = {
  "peerconnection_jni\.cc": [
    "+webrtc/voice_engine",
  ],

  # TODO(ossu): Remove this exception when {builtin_,}audio_encoder_factory.h
  # has moved to api/.
  "peerconnectioninterface\.h": [
    "+webrtc/call/callfactoryinterface.h",
    "+webrtc/logging/rtc_event_log/rtc_event_log_factory_interface.h",
    "+webrtc/modules/audio_coding/codecs/audio_encoder_factory.h",
    "+webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory.h",
  ],

  # Needed because AudioEncoderOpus is in the wrong place for
  # backwards compatibilty reasons. See
  # https://bugs.chromium.org/p/webrtc/issues/detail?id=7847
  "audio_encoder_opus\.h": [
    "+webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h",
  ],

  # We allow .cc files in webrtc/api/ to #include a bunch of stuff
  # that's off-limits for the .h files. That's because .h files leak
  # their #includes to whoever's #including them, but .cc files do not
  # since no one #includes them.
  ".*\.cc": [
    "+webrtc/modules/audio_coding",
  ],
}
