#
# mainline files for frameworks/av
# this list used by tools/mainline_hook_*.sh to help separate
# mainline changes vs framework changes, which release at different paces.
#
#
# ignore comment (#) lines and blank lines
# rest are path prefixes starting at root of the project
# (so OWNERS, not frameworks/av/OWNERS)
#
# path
# INCLUDE path
# EXCLUDE path
#
# 'path' and 'INCLUDE path' are identical -- they both indicate that this path
# is part of mainline
# EXCLUDE indicates that this is not part of mainline,
# so 'foo/' and 'EXCLUDE foo/nope'
# means everything under foo/ is part of mainline EXCEPT foo/nope.
# INCLUDE/EXCLUDE/INCLUDE nested structuring is not supported
#
# matching is purely prefix
# so 'foo' will match 'foo', 'foo.c', 'foo/bar/baz'
# if you want to specify a directory, best to use a pattern like "foo/"
#

apex/
media/codec2/components/
media/codec2/core/
media/codec2/hidl/
media/codec2/sfplugin/utils/
media/codec2/vndk/
media/libstagefright/data/media_codecs_sw.xml
media/module/
services/mediacodec/

# source code used in both framework and mainline libraries
media/libstagefright/HevcUtils.cpp
media/libstagefright/MediaSource.cpp
media/libstagefright/Utils.cpp
