120111aa043c5f404472bc63b90bc5aad906b1101Andreas HuberLOCAL_PATH:= $(call my-dir)
220111aa043c5f404472bc63b90bc5aad906b1101Andreas Huberinclude $(CLEAR_VARS)
320111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
4956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong
5608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas HuberLOCAL_SRC_FILES:=                         \
6f933441648ef6a71dee783d733aac17b9508b452Andreas Huber        ACodec.cpp                        \
750c44c79d2d7dd6cd1485d9d939f67f80b8da1caGloria Wang        AACExtractor.cpp                  \
8760943b5e7a09b602aba04ec451e97662f48b0a4James Dong        AACWriter.cpp                     \
9608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        AMRExtractor.cpp                  \
10608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        AMRWriter.cpp                     \
11608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        AudioPlayer.cpp                   \
12608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        AudioSource.cpp                   \
1399f31604136d66ae10e20669fb6b5716f342bde0Chris Watkins        CallbackDataSource.cpp            \
14608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        CameraSource.cpp                  \
159c075bca0b75093ca0514a3c8f74d73c8e9e83fdNipun Kwatra        CameraSourceTimeLapse.cpp         \
1605ca3bfb847ff3c1980f2f0922a4d494c0e7ebabLajos Molnar        CodecBase.cpp                     \
175b4401b28990107bb797dc0d5f3904cf27417e98Lajos Molnar        DataConverter.cpp                 \
18608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        DataSource.cpp                    \
194bbfff2dbf3968c267c3b2ea9f8912a38372a9daAndreas Huber        DataURISource.cpp                 \
20a9741a9232c81eaf59179acef91f5be46c42264eGloria Wang        DRMExtractor.cpp                  \
21608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        ESDS.cpp                          \
22608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        FileSource.cpp                    \
23856990b491d84b7ed4fefe337485c8997ba9dd02Glenn Kasten        FLACExtractor.cpp                 \
2490fcf68fd29f3cb695bd53a830ad984cb7d430c0Lajos Molnar        FrameRenderTracker.cpp            \
251156dc913a5ba7b2bc86489468d4914430f03d14Andreas Huber        HTTPBase.cpp                      \
269aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5eWonsik Kim        HevcUtils.cpp                     \
27608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        JPEGSource.cpp                    \
28608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MP3Extractor.cpp                  \
290da4dab0a45a2bc1d95cbc6ef6a4850ed2569584Andreas Huber        MPEG2TSWriter.cpp                 \
30608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MPEG4Extractor.cpp                \
31608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MPEG4Writer.cpp                   \
324f1732b8068970b368a89271158ca29daf25650eztenghui        MediaAdapter.cpp                  \
335833b6aad2c46ba516bdc8262f4fc4667e8018edWei Jia        MediaClock.cpp                    \
345778822d86b0337407514b9372562b86edfa91cdAndreas Huber        MediaCodec.cpp                    \
35afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        MediaCodecList.cpp                \
369e6955a19bf77ebf27b770e910efbe1ebf1ceac0Ronghua Wu        MediaCodecListOverrides.cpp       \
3772cecca17d735db6532c45f0a7e10c47ee6f065aChong Zhang        MediaCodecSource.cpp              \
38608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MediaDefs.cpp                     \
39608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MediaExtractor.cpp                \
40c8db9712d9abe9b0d74193ea7d7cff428e32e62cWei Jia        MediaSync.cpp                     \
41faf4efc6a41e88adf85f76f48f020a6d681f5ff1Marco Nelissen        MidiExtractor.cpp                 \
421b86fe063badb5f28c467ade39be0f4008688947Andreas Huber        http/MediaHTTP.cpp                \
434f1732b8068970b368a89271158ca29daf25650eztenghui        MediaMuxer.cpp                    \
44608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        MediaSource.cpp                   \
45608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        NuCachedSource2.cpp               \
465778822d86b0337407514b9372562b86edfa91cdAndreas Huber        NuMediaExtractor.cpp              \
47608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        OMXClient.cpp                     \
48608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        OggExtractor.cpp                  \
4914bcacaed718a506f59e8f3af66e9e0137789da6Ronghua Wu        ProcessInfo.cpp                   \
50608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        SampleIterator.cpp                \
51608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        SampleTable.cpp                   \
5200eb2fdb2b8f108e74c32e03b2a0e5bab3f107b6Lajos Molnar        SimpleDecodingSource.cpp          \
53a98478bfbcc0f7fb4b164d3dce40ca96df75667dMarco Nelissen        SkipCutBuffer.cpp                 \
54608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        StagefrightMediaScanner.cpp       \
55608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        StagefrightMetadataRetriever.cpp  \
561a2fafbaa36390a06cc9a066fcbe147c8c47ea77Pannag Sanketi        SurfaceMediaSource.cpp            \
57b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar        SurfaceUtils.cpp                  \
58608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        ThrottledSource.cpp               \
59608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        Utils.cpp                         \
604456da54bcd206ed1f518c69cc959ca65a179c83Andreas Huber        VBRISeeker.cpp                    \
61a3725d7b0cb79ddb49f81cba00a0164d8e645acdLajos Molnar        VideoFrameScheduler.cpp           \
62608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        WAVExtractor.cpp                  \
63b371426ce4cf2fa6d8c3d1903b61322feb165d35Gloria Wang        WVMExtractor.cpp                  \
644456da54bcd206ed1f518c69cc959ca65a179c83Andreas Huber        XINGSeeker.cpp                    \
6585f12e9b9062402d6110df3f7099707912040edbAndreas Huber        avc_utils.cpp                     \
6620111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
6720111aa043c5f404472bc63b90bc5aad906b1101Andreas HuberLOCAL_C_INCLUDES:= \
6834581f44cde67960fbac3ba1f191a2c063ea5145Marco Nelissen        $(TOP)/frameworks/av/include/media/ \
69559bf2836f5da25b75bfb229fec0d20d540ee426James Dong        $(TOP)/frameworks/av/include/media/stagefright/timedtext \
706c6b4d0d2b98a7ceee8b697daaf611f8df3254fbJames Dong        $(TOP)/frameworks/native/include/media/hardware \
716c6b4d0d2b98a7ceee8b697daaf611f8df3254fbJames Dong        $(TOP)/frameworks/native/include/media/openmax \
72856990b491d84b7ed4fefe337485c8997ba9dd02Glenn Kasten        $(TOP)/external/flac/include \
7339ddf8e0f18766f7ba1e3246b774aa6ebd93eea8Andreas Huber        $(TOP)/external/tremolo \
742f46e8152fb881d3a1d7afd223f1ed51f6e358b8Robert Shih        $(TOP)/external/libvpx/libwebm \
758e6912423c3be3fc2f4bab8ac815f0dce075ded8Sreeram Ramachandran        $(TOP)/system/netd/include \
7675e6e22434d6fb3021738dcef644109374e75643Andy Hung        $(call include-path-for, audio-utils)
7720111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
7820111aa043c5f404472bc63b90bc5aad906b1101Andreas HuberLOCAL_SHARED_LIBRARIES := \
7975e6e22434d6fb3021738dcef644109374e75643Andy Hung        libaudioutils \
8043b1d8ad30bcd61c8cc62fce52fdc6d8381e5732Steve Block        libbinder \
81dcd25efb46c41c8d24a0a9cf61fb57f84149709eGloria Wang        libcamera_client \
82afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libcutils \
83afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libdl \
84afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libdrmframework \
85afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libexpat \
8643b1d8ad30bcd61c8cc62fce52fdc6d8381e5732Steve Block        libgui \
8743b1d8ad30bcd61c8cc62fce52fdc6d8381e5732Steve Block        libicui18n \
88afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libicuuc \
89afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        liblog \
90afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libmedia \
9199e69716215cd0665379bc90d708f2ea8689831dRuben Brunk        libmediautils \
928e6912423c3be3fc2f4bab8ac815f0dce075ded8Sreeram Ramachandran        libnetd_client \
93bf927f8ec7979f2b64331c2b2f12a6a5dba05bcaVignesh Venkatasubramanian        libopus \
94afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libsonivox \
95afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libssl \
96afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libstagefright_omx \
97afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libstagefright_yuv \
981e5b2b3361ddd07259bf4b29820ca4aa5f3a861bJamie Gennis        libsync \
99afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libui \
100afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libutils \
101afc16d667afa23f5aa00154ccad62f8c45cf5419Andreas Huber        libvorbisidec \
10243b1d8ad30bcd61c8cc62fce52fdc6d8381e5732Steve Block        libz \
1038db188489871c770d5d56cf67b0001222415db41Eric Laurent        libpowermanager
10420111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
105f44de515d3b6098a0b585865c1a0c7b20d3075a6Andreas HuberLOCAL_STATIC_LIBRARIES := \
106f5ab57c2d5e02af7483c94eddb177e4f5c9e9892Andreas Huber        libstagefright_color_conversion \
107c71f6e2392bf55cc85ee7c1a376441e9b9aae4c8James Dong        libstagefright_aacenc \
108093437c388e5dff6903a3d43f2ca9f8a1ba4744aAndreas Huber        libstagefright_matroska \
109744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        libstagefright_mediafilter \
110343947abc8b7c126f966fd32a0b18bff6c2cecd1Robert Shih        libstagefright_webm \
111965d08ba16ee82bc85f69546360c18e7da907406Gloria Wang        libstagefright_timedtext \
1124d1265cd007b9754d0645bc4fb95701140a45648Andreas Huber        libvpx \
113fd88f86ec6788170fb4d903c1b0932a18ce1197cJohann        libwebm \
114cda17c606b0fe3ccda4dc68a6d43882410ea2462Andreas Huber        libstagefright_mpeg2ts \
115608d77b1cf4fb9f63dc861e4e1fa3e80a732f626Andreas Huber        libstagefright_id3 \
116856990b491d84b7ed4fefe337485c8997ba9dd02Glenn Kasten        libFLAC \
117744f5739019d1fd917f981e740b353c3d73fd1a8David Smith        libmedia_helper \
1184116807a35a27abf635bf6199ed9ad8703c9e94dColin Cross
119609f1a00c96cf5605f4614e7bb6d0487c98969c5Andreas HuberLOCAL_SHARED_LIBRARIES += \
120956c553ab0ce72f8074ad0fda2ffd66a0305700cJames Dong        libstagefright_enc_common \
121cda17c606b0fe3ccda4dc68a6d43882410ea2462Andreas Huber        libstagefright_avc_common \
122cda17c606b0fe3ccda4dc68a6d43882410ea2462Andreas Huber        libstagefright_foundation \
1235ecbdf58b0674ac4a8b9d56b49ebeb1033e5bd27Dan Albert        libdl \
1245ecbdf58b0674ac4a8b9d56b49ebeb1033e5bd27Dan Albert        libRScpp \
12572b56ef3d9f164159f58725781b01dd3b052b51aMarco Nelissen
1267c3c275b4d0100eec36f7b66637a7aace7971466Lajos MolnarLOCAL_CFLAGS += -Wno-multichar -Werror -Wno-error=deprecated-declarations -Wall
1277c3c275b4d0100eec36f7b66637a7aace7971466Lajos Molnar
1287c3c275b4d0100eec36f7b66637a7aace7971466Lajos Molnar# enable experiments only in userdebug and eng builds
1297c3c275b4d0100eec36f7b66637a7aace7971466Lajos Molnarifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
1307c3c275b4d0100eec36f7b66637a7aace7971466Lajos MolnarLOCAL_CFLAGS += -DENABLE_STAGEFRIGHT_EXPERIMENTS
1317c3c275b4d0100eec36f7b66637a7aace7971466Lajos Molnarendif
132f6b3e7db0b18a7d187d026dd729ae12fd521005eGlenn Kasten
133ee4e1b1a63758941460ae79a064249d3a5189443Lajos MolnarLOCAL_CLANG := true
134a3592f26e7edebd4e7a7745fd107f45dbac71879Dan AustinLOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow
13520111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
13620111aa043c5f404472bc63b90bc5aad906b1101Andreas HuberLOCAL_MODULE:= libstagefright
13720111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
1388d5ec2a336c114688e5d2950b124440e07e79ad9Ying WangLOCAL_MODULE_TAGS := optional
1398d5ec2a336c114688e5d2950b124440e07e79ad9Ying Wang
14020111aa043c5f404472bc63b90bc5aad906b1101Andreas Huberinclude $(BUILD_SHARED_LIBRARY)
14120111aa043c5f404472bc63b90bc5aad906b1101Andreas Huber
14220111aa043c5f404472bc63b90bc5aad906b1101Andreas Huberinclude $(call all-makefiles-under,$(LOCAL_PATH))
143