From 42057ce1890b2be250b95f56734a47b93c8ad537 Mon Sep 17 00:00:00 2001 From: Marco Nelissen Date: Mon, 23 Sep 2019 12:15:57 -0700 Subject: [PATCH] Split datasource out of libstagefright into libdatasource, which contains: DataSourceFactory (Clear)FileSource (Clear)MediaHTTP DataURISource HTTPBase NuCachedSource2 This is needed to break a circular dependency in an upcoming CL. Test: build, boot Change-Id: I34d9937235c78f18f51b18945342a0743e209577 --- cmds/stagefright/Android.mk | 6 +- cmds/stagefright/record.cpp | 2 +- cmds/stagefright/stagefright.cpp | 3 +- cmds/stagefright/stream.cpp | 2 +- media/codec2/components/cmds/Android.bp | 1 + media/codec2/components/cmds/codec2.cpp | 2 +- media/libdatasource/Android.bp | 66 +++++++++++ .../ClearFileSource.cpp | 4 +- .../http => libdatasource}/ClearMediaHTTP.cpp | 4 +- .../DataSourceFactory.cpp | 12 +- .../DataURISource.cpp | 2 +- .../FileSource.cpp | 3 +- .../HTTPBase.cpp | 2 +- .../http => libdatasource}/MediaHTTP.cpp | 4 +- .../NuCachedSource2.cpp | 4 +- .../include/datasource}/ClearFileSource.h | 0 .../include/datasource}/ClearMediaHTTP.h | 2 +- .../include/datasource}/DataSourceFactory.h | 2 + .../include/datasource}/DataURISource.h | 0 .../include/datasource}/FileSource.h | 2 +- .../include/datasource}/HTTPBase.h | 0 .../include/datasource}/MediaHTTP.h | 2 +- .../include/datasource}/NuCachedSource2.h | 0 media/libmediaplayerservice/Android.bp | 1 + .../MediaPlayerFactory.cpp | 2 +- .../MediaPlayerService.cpp | 3 +- .../MetadataRetrieverClient.cpp | 1 + .../libmediaplayerservice/nuplayer/Android.bp | 1 + .../nuplayer/GenericSource.cpp | 8 +- .../nuplayer/NuPlayerDriver.cpp | 1 + media/libstagefright/Android.bp | 23 ++-- media/libstagefright/NuMediaExtractor.cpp | 5 +- .../StagefrightMetadataRetriever.cpp | 4 +- media/libstagefright/Utils.cpp | 81 ------------- media/libstagefright/foundation/Android.bp | 1 + .../foundation/FoundationUtils.cpp | 112 ++++++++++++++++++ media/libstagefright/httplive/Android.bp | 1 + .../httplive/HTTPDownloader.cpp | 4 +- media/libstagefright/httplive/LiveSession.cpp | 1 + media/libstagefright/httplive/M3UParser.cpp | 1 + .../httplive/PlaylistFetcher.cpp | 3 +- media/libstagefright/id3/Android.bp | 1 + media/libstagefright/id3/testid3.cpp | 2 +- .../media/stagefright/FoundationUtils.h | 32 +++++ .../include/media/stagefright/Utils.h | 5 - media/libstagefright/omx/tests/OMXHarness.cpp | 2 +- media/libstagefright/rtsp/ARTSPConnection.cpp | 3 +- media/libstagefright/rtsp/Android.bp | 1 + media/libstagefright/rtsp/MyHandler.h | 3 +- media/libstagefright/rtsp/SDPLoader.cpp | 3 +- media/libstagefright/webm/Android.bp | 1 + media/libstagefright/webm/WebmFrameThread.h | 2 +- media/ndk/Android.bp | 1 + media/ndk/NdkMediaDataSource.cpp | 10 +- services/mediaextractor/Android.bp | 1 + .../mediaextractor/MediaExtractorService.cpp | 2 +- 56 files changed, 291 insertions(+), 156 deletions(-) create mode 100644 media/libdatasource/Android.bp rename media/{libstagefright => libdatasource}/ClearFileSource.cpp (97%) rename media/{libstagefright/http => libdatasource}/ClearMediaHTTP.cpp (98%) rename media/{libstagefright => libdatasource}/DataSourceFactory.cpp (93%) rename media/{libstagefright => libdatasource}/DataURISource.cpp (98%) rename media/{libstagefright => libdatasource}/FileSource.cpp (98%) rename media/{libstagefright => libdatasource}/HTTPBase.cpp (99%) rename media/{libstagefright/http => libdatasource}/MediaHTTP.cpp (95%) rename media/{libstagefright => libdatasource}/NuCachedSource2.cpp (99%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/ClearFileSource.h (100%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/ClearMediaHTTP.h (98%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/DataSourceFactory.h (95%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/DataURISource.h (100%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/FileSource.h (97%) rename media/{libstagefright/include => libdatasource/include/datasource}/HTTPBase.h (100%) rename media/{libstagefright/include/media/stagefright => libdatasource/include/datasource}/MediaHTTP.h (96%) rename media/{libstagefright/include => libdatasource/include/datasource}/NuCachedSource2.h (100%) create mode 100644 media/libstagefright/foundation/FoundationUtils.cpp create mode 100644 media/libstagefright/include/media/stagefright/FoundationUtils.h diff --git a/cmds/stagefright/Android.mk b/cmds/stagefright/Android.mk index 4fb6feb577..cc43b61612 100644 --- a/cmds/stagefright/Android.mk +++ b/cmds/stagefright/Android.mk @@ -10,7 +10,7 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libstagefright libmedia libmedia_codeclist libutils libbinder \ libstagefright_foundation libjpeg libui libgui libcutils liblog \ - libhidlbase \ + libhidlbase libdatasource \ android.hardware.media.omx@1.0 \ LOCAL_C_INCLUDES:= \ @@ -36,7 +36,7 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libstagefright libmedia liblog libutils libbinder \ - libstagefright_foundation + libstagefright_foundation libdatasource LOCAL_C_INCLUDES:= \ frameworks/av/camera/include \ @@ -111,7 +111,7 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libstagefright liblog libutils libbinder libui libgui \ - libstagefright_foundation libmedia libcutils + libstagefright_foundation libmedia libcutils libdatasource LOCAL_C_INCLUDES:= \ frameworks/av/media/libstagefright \ diff --git a/cmds/stagefright/record.cpp b/cmds/stagefright/record.cpp index 95a16f3a04..498237de8d 100644 --- a/cmds/stagefright/record.cpp +++ b/cmds/stagefright/record.cpp @@ -17,12 +17,12 @@ #include "SineSource.h" #include +#include #include #include #include #include #include -#include #include #include #include diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp index aab1df9939..58e3f2c511 100644 --- a/cmds/stagefright/stagefright.cpp +++ b/cmds/stagefright/stagefright.cpp @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -39,9 +40,7 @@ #include #include #include -#include "include/NuCachedSource2.h" #include -#include #include #include #include diff --git a/cmds/stagefright/stream.cpp b/cmds/stagefright/stream.cpp index 59b5f9febf..8cc0e814f7 100644 --- a/cmds/stagefright/stream.cpp +++ b/cmds/stagefright/stream.cpp @@ -21,6 +21,7 @@ #include #include // for property_get +#include #include #include #include @@ -28,7 +29,6 @@ #include #include #include -#include #include #include #include diff --git a/media/codec2/components/cmds/Android.bp b/media/codec2/components/cmds/Android.bp index 681a1716e4..a081e2871c 100644 --- a/media/codec2/components/cmds/Android.bp +++ b/media/codec2/components/cmds/Android.bp @@ -17,6 +17,7 @@ cc_binary { "libbase", "libbinder", "libcutils", + "libdatasource", "libgui", "liblog", "libstagefright", diff --git a/media/codec2/components/cmds/codec2.cpp b/media/codec2/components/cmds/codec2.cpp index 479f064776..e572a53c47 100644 --- a/media/codec2/components/cmds/codec2.cpp +++ b/media/codec2/components/cmds/codec2.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -38,7 +39,6 @@ #include #include #include -#include #include #include #include diff --git a/media/libdatasource/Android.bp b/media/libdatasource/Android.bp new file mode 100644 index 0000000000..dd8ef74585 --- /dev/null +++ b/media/libdatasource/Android.bp @@ -0,0 +1,66 @@ +cc_library { + name: "libdatasource", + + srcs: [ + "ClearFileSource.cpp", + "ClearMediaHTTP.cpp", + "DataSourceFactory.cpp", + "DataURISource.cpp", + "FileSource.cpp", + "HTTPBase.cpp", + "MediaHTTP.cpp", + "NuCachedSource2.cpp", + ], + + aidl: { + local_include_dirs: ["aidl"], + export_aidl_headers: true, + }, + + header_libs: [ + "libstagefright_headers", + "media_ndk_headers", + "libmedia_headers", + ], + + export_header_lib_headers: [ + "libstagefright_headers", + "media_ndk_headers", + ], + + shared_libs: [ + "liblog", + "libcutils", + "libdrmframework", + "libutils", + "libstagefright_foundation", + "libdl", + ], + + static_libs: [ + "libc_malloc_debug_backtrace", // for memory heap analysis + "libmedia_midiiowrapper", + ], + + local_include_dirs: [ + "include", + ], + + export_include_dirs: [ + "include", + ], + + cflags: [ + "-Werror", + "-Wno-error=deprecated-declarations", + "-Wall", + ], + + sanitize: { + misc_undefined: [ + "unsigned-integer-overflow", + "signed-integer-overflow", + ], + cfi: true, + }, +} diff --git a/media/libstagefright/ClearFileSource.cpp b/media/libdatasource/ClearFileSource.cpp similarity index 97% rename from media/libstagefright/ClearFileSource.cpp rename to media/libdatasource/ClearFileSource.cpp index e3a2cb721e..afafa23c8e 100644 --- a/media/libstagefright/ClearFileSource.cpp +++ b/media/libdatasource/ClearFileSource.cpp @@ -18,9 +18,9 @@ #define LOG_TAG "ClearFileSource" #include +#include #include -#include -#include +#include #include #include #include diff --git a/media/libstagefright/http/ClearMediaHTTP.cpp b/media/libdatasource/ClearMediaHTTP.cpp similarity index 98% rename from media/libstagefright/http/ClearMediaHTTP.cpp rename to media/libdatasource/ClearMediaHTTP.cpp index 9557c8ac5f..7249c84126 100644 --- a/media/libstagefright/http/ClearMediaHTTP.cpp +++ b/media/libdatasource/ClearMediaHTTP.cpp @@ -18,11 +18,11 @@ #define LOG_TAG "ClearMediaHTTP" #include -#include +#include #include #include -#include +#include #include diff --git a/media/libstagefright/DataSourceFactory.cpp b/media/libdatasource/DataSourceFactory.cpp similarity index 93% rename from media/libstagefright/DataSourceFactory.cpp rename to media/libdatasource/DataSourceFactory.cpp index 54bf0cce41..8c772ddda8 100644 --- a/media/libstagefright/DataSourceFactory.cpp +++ b/media/libdatasource/DataSourceFactory.cpp @@ -16,15 +16,15 @@ //#define LOG_NDEBUG 0 #define LOG_TAG "DataSource" -#include "include/HTTPBase.h" -#include "include/NuCachedSource2.h" +#include +#include +#include +#include +#include +#include #include #include -#include -#include -#include -#include #include namespace android { diff --git a/media/libstagefright/DataURISource.cpp b/media/libdatasource/DataURISource.cpp similarity index 98% rename from media/libstagefright/DataURISource.cpp rename to media/libdatasource/DataURISource.cpp index b975b38820..216f3d09b5 100644 --- a/media/libstagefright/DataURISource.cpp +++ b/media/libdatasource/DataURISource.cpp @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include +#include #include #include diff --git a/media/libstagefright/FileSource.cpp b/media/libdatasource/FileSource.cpp similarity index 98% rename from media/libstagefright/FileSource.cpp rename to media/libdatasource/FileSource.cpp index aee7fd8b49..65780e3480 100644 --- a/media/libstagefright/FileSource.cpp +++ b/media/libdatasource/FileSource.cpp @@ -18,9 +18,8 @@ #define LOG_TAG "FileSource" #include +#include #include -#include -#include #include namespace android { diff --git a/media/libstagefright/HTTPBase.cpp b/media/libdatasource/HTTPBase.cpp similarity index 99% rename from media/libstagefright/HTTPBase.cpp rename to media/libdatasource/HTTPBase.cpp index d118e8c5e7..ef29c48351 100644 --- a/media/libstagefright/HTTPBase.cpp +++ b/media/libdatasource/HTTPBase.cpp @@ -18,7 +18,7 @@ #define LOG_TAG "HTTPBase" #include -#include "include/HTTPBase.h" +#include #include #include diff --git a/media/libstagefright/http/MediaHTTP.cpp b/media/libdatasource/MediaHTTP.cpp similarity index 95% rename from media/libstagefright/http/MediaHTTP.cpp rename to media/libdatasource/MediaHTTP.cpp index 0fba3dc377..e57510dc30 100644 --- a/media/libstagefright/http/MediaHTTP.cpp +++ b/media/libdatasource/MediaHTTP.cpp @@ -18,12 +18,12 @@ #define LOG_TAG "MediaHTTP" #include -#include +#include #include #include #include -#include +#include #include diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libdatasource/NuCachedSource2.cpp similarity index 99% rename from media/libstagefright/NuCachedSource2.cpp rename to media/libdatasource/NuCachedSource2.cpp index 522c81d6fd..7f5ae61633 100644 --- a/media/libstagefright/NuCachedSource2.cpp +++ b/media/libdatasource/NuCachedSource2.cpp @@ -20,8 +20,8 @@ #define LOG_TAG "NuCachedSource2" #include -#include "include/NuCachedSource2.h" -#include "include/HTTPBase.h" +#include +#include #include #include diff --git a/media/libstagefright/include/media/stagefright/ClearFileSource.h b/media/libdatasource/include/datasource/ClearFileSource.h similarity index 100% rename from media/libstagefright/include/media/stagefright/ClearFileSource.h rename to media/libdatasource/include/datasource/ClearFileSource.h diff --git a/media/libstagefright/include/media/stagefright/ClearMediaHTTP.h b/media/libdatasource/include/datasource/ClearMediaHTTP.h similarity index 98% rename from media/libstagefright/include/media/stagefright/ClearMediaHTTP.h rename to media/libdatasource/include/datasource/ClearMediaHTTP.h index 72907a946f..5440a3a46c 100644 --- a/media/libstagefright/include/media/stagefright/ClearMediaHTTP.h +++ b/media/libdatasource/include/datasource/ClearMediaHTTP.h @@ -20,7 +20,7 @@ #include -#include "include/HTTPBase.h" +#include "HTTPBase.h" namespace android { diff --git a/media/libstagefright/include/media/stagefright/DataSourceFactory.h b/media/libdatasource/include/datasource/DataSourceFactory.h similarity index 95% rename from media/libstagefright/include/media/stagefright/DataSourceFactory.h rename to media/libdatasource/include/datasource/DataSourceFactory.h index 2a1d491144..6e313d3712 100644 --- a/media/libstagefright/include/media/stagefright/DataSourceFactory.h +++ b/media/libdatasource/include/datasource/DataSourceFactory.h @@ -18,7 +18,9 @@ #define DATA_SOURCE_FACTORY_H_ +#include #include +#include #include namespace android { diff --git a/media/libstagefright/include/media/stagefright/DataURISource.h b/media/libdatasource/include/datasource/DataURISource.h similarity index 100% rename from media/libstagefright/include/media/stagefright/DataURISource.h rename to media/libdatasource/include/datasource/DataURISource.h diff --git a/media/libstagefright/include/media/stagefright/FileSource.h b/media/libdatasource/include/datasource/FileSource.h similarity index 97% rename from media/libstagefright/include/media/stagefright/FileSource.h rename to media/libdatasource/include/datasource/FileSource.h index b610eefb55..92498429b9 100644 --- a/media/libstagefright/include/media/stagefright/FileSource.h +++ b/media/libdatasource/include/datasource/FileSource.h @@ -20,7 +20,7 @@ #include -#include +#include #include #include #include diff --git a/media/libstagefright/include/HTTPBase.h b/media/libdatasource/include/datasource/HTTPBase.h similarity index 100% rename from media/libstagefright/include/HTTPBase.h rename to media/libdatasource/include/datasource/HTTPBase.h diff --git a/media/libstagefright/include/media/stagefright/MediaHTTP.h b/media/libdatasource/include/datasource/MediaHTTP.h similarity index 96% rename from media/libstagefright/include/media/stagefright/MediaHTTP.h rename to media/libdatasource/include/datasource/MediaHTTP.h index acaa6c4bb6..60252ce027 100644 --- a/media/libstagefright/include/media/stagefright/MediaHTTP.h +++ b/media/libdatasource/include/datasource/MediaHTTP.h @@ -18,8 +18,8 @@ #define MEDIA_HTTP_H_ +#include #include -#include namespace android { diff --git a/media/libstagefright/include/NuCachedSource2.h b/media/libdatasource/include/datasource/NuCachedSource2.h similarity index 100% rename from media/libstagefright/include/NuCachedSource2.h rename to media/libdatasource/include/datasource/NuCachedSource2.h diff --git a/media/libmediaplayerservice/Android.bp b/media/libmediaplayerservice/Android.bp index cf4d8e86e5..670101799d 100644 --- a/media/libmediaplayerservice/Android.bp +++ b/media/libmediaplayerservice/Android.bp @@ -21,6 +21,7 @@ cc_library_shared { "libcodec2_client", "libcrypto", "libcutils", + "libdatasource", "libdl", "libgui", "libhidlbase", diff --git a/media/libmediaplayerservice/MediaPlayerFactory.cpp b/media/libmediaplayerservice/MediaPlayerFactory.cpp index 1376ccc0af..05f7365594 100644 --- a/media/libmediaplayerservice/MediaPlayerFactory.cpp +++ b/media/libmediaplayerservice/MediaPlayerFactory.cpp @@ -20,9 +20,9 @@ #include #include +#include #include #include -#include #include #include #include diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 8ac169f3c7..aa4c90b3aa 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -48,6 +48,7 @@ #include #include +#include #include #include #include @@ -62,6 +63,7 @@ #include #include #include +#include #include #include #include @@ -81,7 +83,6 @@ #include "TestPlayerStub.h" #include "nuplayer/NuPlayerDriver.h" -#include "HTTPBase.h" static const int kDumpLockRetries = 50; static const int kDumpLockSleepUs = 20000; diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp index b44eb43196..fb228ca297 100644 --- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp +++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include #include "MetadataRetrieverClient.h" #include "StagefrightMetadataRetriever.h" diff --git a/media/libmediaplayerservice/nuplayer/Android.bp b/media/libmediaplayerservice/nuplayer/Android.bp index 71d80947da..19c8e765ed 100644 --- a/media/libmediaplayerservice/nuplayer/Android.bp +++ b/media/libmediaplayerservice/nuplayer/Android.bp @@ -46,6 +46,7 @@ cc_library_static { shared_libs: [ "libbinder", + "libdatasource", "libui", "libgui", "libmedia", diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index 46537114f1..e26f1e635d 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -23,6 +23,10 @@ #include "AnotherPacketSource.h" #include #include +#include +#include +#include +#include #include #include #include @@ -31,8 +35,6 @@ #include #include #include -#include -#include #include #include #include @@ -41,8 +43,6 @@ #include #include #include -#include "../../libstagefright/include/NuCachedSource2.h" -#include "../../libstagefright/include/HTTPBase.h" namespace android { diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp index 865cb2af10..95c973aed7 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp index aed1c31b1f..c02b276f1c 100644 --- a/media/libstagefright/Android.bp +++ b/media/libstagefright/Android.bp @@ -19,8 +19,10 @@ cc_library_static { ], cfi: true, }, - - shared_libs: ["libmedia"], + shared_libs: [ + "libstagefright_foundation", + "libutils" + ], } cc_library_static { @@ -133,12 +135,7 @@ cc_library { "CameraSource.cpp", "CameraSourceTimeLapse.cpp", "DataConverter.cpp", - "DataSourceFactory.cpp", - "DataURISource.cpp", - "ClearFileSource.cpp", - "FileSource.cpp", "FrameDecoder.cpp", - "HTTPBase.cpp", "HevcUtils.cpp", "InterfaceUtils.cpp", "JPEGSource.cpp", @@ -155,10 +152,7 @@ cc_library { "MediaSource.cpp", "MediaSync.cpp", "MediaTrack.cpp", - "http/ClearMediaHTTP.cpp", - "http/MediaHTTP.cpp", "MediaMuxer.cpp", - "NuCachedSource2.cpp", "NuMediaExtractor.cpp", "OggWriter.cpp", "OMXClient.cpp", @@ -171,8 +165,8 @@ cc_library { "StagefrightMetadataRetriever.cpp", "StagefrightPluginLoader.cpp", "SurfaceUtils.cpp", - "Utils.cpp", "ThrottledSource.cpp", + "Utils.cpp", "VideoFrameSchedulerBase.cpp", "VideoFrameScheduler.cpp", ], @@ -183,9 +177,9 @@ cc_library { "libbinder", "libcamera_client", "libcutils", + "libdatasource", "libdl", "libdl_android", - "libdrmframework", "libgui", "liblog", "libmedia", @@ -210,6 +204,7 @@ cc_library { ], static_libs: [ + "libstagefright_esds", "libstagefright_color_conversion", "libyuv_static", "libstagefright_mediafilter", @@ -217,7 +212,6 @@ cc_library { "libstagefright_timedtext", "libogg", "libwebm", - "libstagefright_esds", "libstagefright_id3", "libFLAC", ], @@ -264,6 +258,3 @@ cc_library { ], }, } - - - diff --git a/media/libstagefright/NuMediaExtractor.cpp b/media/libstagefright/NuMediaExtractor.cpp index 680d426d96..b89dcdf9ab 100644 --- a/media/libstagefright/NuMediaExtractor.cpp +++ b/media/libstagefright/NuMediaExtractor.cpp @@ -22,13 +22,13 @@ #include "include/ESDS.h" +#include +#include #include #include #include #include #include -#include -#include #include #include #include @@ -36,6 +36,7 @@ #include #include #include +#include namespace android { diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp index 6f536a9c60..48aee1871d 100644 --- a/media/libstagefright/StagefrightMetadataRetriever.cpp +++ b/media/libstagefright/StagefrightMetadataRetriever.cpp @@ -25,11 +25,11 @@ #include "include/FrameDecoder.h" #include "include/StagefrightMetadataRetriever.h" +#include +#include #include #include #include -#include -#include #include #include #include diff --git a/media/libstagefright/Utils.cpp b/media/libstagefright/Utils.cpp index 135151f122..bda6053b0a 100644 --- a/media/libstagefright/Utils.cpp +++ b/media/libstagefright/Utils.cpp @@ -1895,22 +1895,6 @@ void convertMessageToMetaData(const sp &msg, sp &meta) { #endif } -AString MakeUserAgent() { - AString ua; - ua.append("stagefright/1.2 (Linux;Android "); - -#if (PROPERTY_VALUE_MAX < 8) -#error "PROPERTY_VALUE_MAX must be at least 8" -#endif - - char value[PROPERTY_VALUE_MAX]; - property_get("ro.build.version.release", value, "Unknown"); - ua.append(value); - ua.append(")"); - - return ua; -} - status_t sendMetaDataToHal(sp& sink, const sp& meta) { @@ -2099,39 +2083,6 @@ bool canOffloadStream(const sp& meta, bool hasVideo, return AudioSystem::isOffloadSupported(info); } -AString uriDebugString(const AString &uri, bool incognito) { - if (incognito) { - return AString(""); - } - - if (property_get_bool("media.stagefright.log-uri", false)) { - return uri; - } - - // find scheme - AString scheme; - const char *chars = uri.c_str(); - for (size_t i = 0; i < uri.size(); i++) { - const char c = chars[i]; - if (!isascii(c)) { - break; - } else if (isalpha(c)) { - continue; - } else if (i == 0) { - // first character must be a letter - break; - } else if (isdigit(c) || c == '+' || c == '.' || c =='-') { - continue; - } else if (c != ':') { - break; - } - scheme = AString(uri, 0, i); - scheme.append("://"); - return scheme; - } - return AString(""); -} - HLSTime::HLSTime(const sp& meta) : mSeq(-1), mTimeUs(-1LL), @@ -2230,36 +2181,4 @@ void readFromAMessage(const sp &msg, BufferingSettings *buffering /* n } } -AString nameForFd(int fd) { - const size_t SIZE = 256; - char buffer[SIZE]; - AString result; - snprintf(buffer, SIZE, "/proc/%d/fd/%d", getpid(), fd); - struct stat s; - if (lstat(buffer, &s) == 0) { - if ((s.st_mode & S_IFMT) == S_IFLNK) { - char linkto[256]; - int len = readlink(buffer, linkto, sizeof(linkto)); - if(len > 0) { - if(len > 255) { - linkto[252] = '.'; - linkto[253] = '.'; - linkto[254] = '.'; - linkto[255] = 0; - } else { - linkto[len] = 0; - } - result.append(linkto); - } - } else { - result.append("unexpected type for "); - result.append(buffer); - } - } else { - result.append("couldn't open "); - result.append(buffer); - } - return result; -} - } // namespace android diff --git a/media/libstagefright/foundation/Android.bp b/media/libstagefright/foundation/Android.bp index 4b88ae4ca4..5485f6d7f9 100644 --- a/media/libstagefright/foundation/Android.bp +++ b/media/libstagefright/foundation/Android.bp @@ -65,6 +65,7 @@ cc_defaults { "AudioPresentationInfo.cpp", "ByteUtils.cpp", "ColorUtils.cpp", + "FoundationUtils.cpp", "MediaBuffer.cpp", "MediaBufferBase.cpp", "MediaBufferGroup.cpp", diff --git a/media/libstagefright/foundation/FoundationUtils.cpp b/media/libstagefright/foundation/FoundationUtils.cpp new file mode 100644 index 0000000000..8285e4cd3f --- /dev/null +++ b/media/libstagefright/foundation/FoundationUtils.cpp @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//#define LOG_NDEBUG 0 +#define LOG_TAG "FoundationUtils" +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace android { + +AString uriDebugString(const AString &uri, bool incognito) { + if (incognito) { + return AString(""); + } + + if (property_get_bool("media.stagefright.log-uri", false)) { + return uri; + } + + // find scheme + AString scheme; + const char *chars = uri.c_str(); + for (size_t i = 0; i < uri.size(); i++) { + const char c = chars[i]; + if (!isascii(c)) { + break; + } else if (isalpha(c)) { + continue; + } else if (i == 0) { + // first character must be a letter + break; + } else if (isdigit(c) || c == '+' || c == '.' || c =='-') { + continue; + } else if (c != ':') { + break; + } + scheme = AString(uri, 0, i); + scheme.append("://"); + return scheme; + } + return AString(""); +} + +AString MakeUserAgent() { + AString ua; + ua.append("stagefright/1.2 (Linux;Android "); + +#if (PROPERTY_VALUE_MAX < 8) +#error "PROPERTY_VALUE_MAX must be at least 8" +#endif + + char value[PROPERTY_VALUE_MAX]; + property_get("ro.build.version.release", value, "Unknown"); + ua.append(value); + ua.append(")"); + + return ua; +} + +AString nameForFd(int fd) { + const size_t SIZE = 256; + char buffer[SIZE]; + AString result; + snprintf(buffer, SIZE, "/proc/%d/fd/%d", getpid(), fd); + struct stat s; + if (lstat(buffer, &s) == 0) { + if ((s.st_mode & S_IFMT) == S_IFLNK) { + char linkto[256]; + int len = readlink(buffer, linkto, sizeof(linkto)); + if(len > 0) { + if(len > 255) { + linkto[252] = '.'; + linkto[253] = '.'; + linkto[254] = '.'; + linkto[255] = 0; + } else { + linkto[len] = 0; + } + result.append(linkto); + } + } else { + result.append("unexpected type for "); + result.append(buffer); + } + } else { + result.append("couldn't open "); + result.append(buffer); + } + return result; +} + +} // namespace android diff --git a/media/libstagefright/httplive/Android.bp b/media/libstagefright/httplive/Android.bp index c0ee14eaa3..12e7ca60d1 100644 --- a/media/libstagefright/httplive/Android.bp +++ b/media/libstagefright/httplive/Android.bp @@ -31,6 +31,7 @@ cc_library { "liblog", "libcrypto", "libcutils", + "libdatasource", "libmedia", "libmediandk", "libstagefright", diff --git a/media/libstagefright/httplive/HTTPDownloader.cpp b/media/libstagefright/httplive/HTTPDownloader.cpp index c7e92cd5ab..7183dbdaa4 100644 --- a/media/libstagefright/httplive/HTTPDownloader.cpp +++ b/media/libstagefright/httplive/HTTPDownloader.cpp @@ -21,13 +21,13 @@ #include "HTTPDownloader.h" #include "M3UParser.h" +#include +#include #include #include #include #include #include -#include -#include #include #include #include diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp index 9cf97c77b8..3bad015373 100644 --- a/media/libstagefright/httplive/LiveSession.cpp +++ b/media/libstagefright/httplive/LiveSession.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include diff --git a/media/libstagefright/httplive/M3UParser.cpp b/media/libstagefright/httplive/M3UParser.cpp index cb97a3cc68..e0324e36d6 100644 --- a/media/libstagefright/httplive/M3UParser.cpp +++ b/media/libstagefright/httplive/M3UParser.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include namespace android { diff --git a/media/libstagefright/httplive/PlaylistFetcher.cpp b/media/libstagefright/httplive/PlaylistFetcher.cpp index 0950db0b5f..fdcde29f2f 100644 --- a/media/libstagefright/httplive/PlaylistFetcher.cpp +++ b/media/libstagefright/httplive/PlaylistFetcher.cpp @@ -28,17 +28,18 @@ #include "mpeg2ts/AnotherPacketSource.h" #include "mpeg2ts/HlsSampleDecryptor.h" +#include #include #include #include #include #include #include -#include #include #include #include #include +#include #include #include diff --git a/media/libstagefright/id3/Android.bp b/media/libstagefright/id3/Android.bp index 7151d07458..d9704a6026 100644 --- a/media/libstagefright/id3/Android.bp +++ b/media/libstagefright/id3/Android.bp @@ -33,6 +33,7 @@ cc_test { ], shared_libs: [ + "libdatasource", "libstagefright", "libutils", "liblog", diff --git a/media/libstagefright/id3/testid3.cpp b/media/libstagefright/id3/testid3.cpp index 86e6adf5ba..9984d853aa 100644 --- a/media/libstagefright/id3/testid3.cpp +++ b/media/libstagefright/id3/testid3.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #define MAXPATHLEN 256 diff --git a/media/libstagefright/include/media/stagefright/FoundationUtils.h b/media/libstagefright/include/media/stagefright/FoundationUtils.h new file mode 100644 index 0000000000..154898174d --- /dev/null +++ b/media/libstagefright/include/media/stagefright/FoundationUtils.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FOUNDATION_UTILS_H_ + +#define FOUNDATION_UTILS_H_ + +#include + +namespace android { + +AString MakeUserAgent(); + +AString uriDebugString(const AString &uri, bool incognito = false); + +AString nameForFd(int fd); +} // namespace android + +#endif // FOUNDATION_UTILS_H_ diff --git a/media/libstagefright/include/media/stagefright/Utils.h b/media/libstagefright/include/media/stagefright/Utils.h index e8e0a11113..2b9b7596c5 100644 --- a/media/libstagefright/include/media/stagefright/Utils.h +++ b/media/libstagefright/include/media/stagefright/Utils.h @@ -41,8 +41,6 @@ void convertMessageToMetaData( // TODO: combine this with avc_utils::getNextNALUnit const uint8_t *findNextNalStartCode(const uint8_t *data, size_t length); -AString MakeUserAgent(); - // Convert a MIME type to a AudioSystem::audio_format status_t mapMimeToAudioFormat(audio_format_t& format, const char* mime); @@ -60,8 +58,6 @@ status_t getAudioOffloadInfo(const sp& meta, bool hasVideo, bool canOffloadStream(const sp& meta, bool hasVideo, bool isStreaming, audio_stream_type_t streamType); -AString uriDebugString(const AString &uri, bool incognito = false); - struct HLSTime { int32_t mSeq; int64_t mTimeUs; @@ -85,7 +81,6 @@ void readFromAMessage( void writeToAMessage(const sp &msg, const BufferingSettings &buffering); void readFromAMessage(const sp &msg, BufferingSettings *buffering /* nonnull */); -AString nameForFd(int fd); } // namespace android #endif // UTILS_H_ diff --git a/media/libstagefright/omx/tests/OMXHarness.cpp b/media/libstagefright/omx/tests/OMXHarness.cpp index cc8c2340d0..ee01d6c91d 100644 --- a/media/libstagefright/omx/tests/OMXHarness.cpp +++ b/media/libstagefright/omx/tests/OMXHarness.cpp @@ -27,13 +27,13 @@ #include #include #include +#include #include #include #include #include #include #include -#include #include #include #include diff --git a/media/libstagefright/rtsp/ARTSPConnection.cpp b/media/libstagefright/rtsp/ARTSPConnection.cpp index 789e62a67d..cac1af9f31 100644 --- a/media/libstagefright/rtsp/ARTSPConnection.cpp +++ b/media/libstagefright/rtsp/ARTSPConnection.cpp @@ -21,12 +21,14 @@ #include "ARTSPConnection.h" #include "NetworkUtils.h" +#include #include #include #include #include #include #include +#include #include #include @@ -34,7 +36,6 @@ #include #include -#include "include/HTTPBase.h" namespace android { diff --git a/media/libstagefright/rtsp/Android.bp b/media/libstagefright/rtsp/Android.bp index 9bc9c897d4..a5a895e472 100644 --- a/media/libstagefright/rtsp/Android.bp +++ b/media/libstagefright/rtsp/Android.bp @@ -21,6 +21,7 @@ cc_defaults { shared_libs: [ "libcrypto", + "libdatasource", "libmedia", ], diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h index 85ffba29c8..7f025a5c94 100644 --- a/media/libstagefright/rtsp/MyHandler.h +++ b/media/libstagefright/rtsp/MyHandler.h @@ -36,18 +36,19 @@ #include #include +#include #include #include #include #include #include #include +#include #include #include #include -#include "HTTPBase.h" #if LOG_NDEBUG #define UNUSED_UNLESS_VERBOSE(x) (void)(x) diff --git a/media/libstagefright/rtsp/SDPLoader.cpp b/media/libstagefright/rtsp/SDPLoader.cpp index 665d51aba3..5bd218d771 100644 --- a/media/libstagefright/rtsp/SDPLoader.cpp +++ b/media/libstagefright/rtsp/SDPLoader.cpp @@ -22,12 +22,13 @@ #include "ASessionDescription.h" +#include #include #include -#include #include #include #include +#include #define DEFAULT_SDP_SIZE 100000 diff --git a/media/libstagefright/webm/Android.bp b/media/libstagefright/webm/Android.bp index 64ecc2db19..9f3e807472 100644 --- a/media/libstagefright/webm/Android.bp +++ b/media/libstagefright/webm/Android.bp @@ -27,6 +27,7 @@ cc_library_static { include_dirs: ["frameworks/av/include"], shared_libs: [ + "libdatasource", "libstagefright_foundation", "libutils", "liblog", diff --git a/media/libstagefright/webm/WebmFrameThread.h b/media/libstagefright/webm/WebmFrameThread.h index 1ddaf9a9d8..2dde20afc5 100644 --- a/media/libstagefright/webm/WebmFrameThread.h +++ b/media/libstagefright/webm/WebmFrameThread.h @@ -20,8 +20,8 @@ #include "WebmFrame.h" #include "LinkedBlockingQueue.h" +#include #include -#include #include #include diff --git a/media/ndk/Android.bp b/media/ndk/Android.bp index 0020ccce48..61f90146ad 100644 --- a/media/ndk/Android.bp +++ b/media/ndk/Android.bp @@ -79,6 +79,7 @@ cc_library_shared { "libandroid_runtime_lazy", "libbase", "libbinder", + "libdatasource", "libmedia", "libmediadrm", "libmedia_omx", diff --git a/media/ndk/NdkMediaDataSource.cpp b/media/ndk/NdkMediaDataSource.cpp index e5676139db..f6892e6ccf 100644 --- a/media/ndk/NdkMediaDataSource.cpp +++ b/media/ndk/NdkMediaDataSource.cpp @@ -26,16 +26,16 @@ #include #include #include -#include -#include +#include +#include +#include #include #include #include -#include #include +#include +#include -#include "../../libstagefright/include/HTTPBase.h" -#include "../../libstagefright/include/NuCachedSource2.h" #include "NdkMediaDataSourceCallbacksPriv.h" diff --git a/services/mediaextractor/Android.bp b/services/mediaextractor/Android.bp index 98cc69f5d4..828e89a069 100644 --- a/services/mediaextractor/Android.bp +++ b/services/mediaextractor/Android.bp @@ -8,6 +8,7 @@ cc_library_shared { srcs: ["MediaExtractorService.cpp"], shared_libs: [ + "libdatasource", "libmedia", "libstagefright", "libbinder", diff --git a/services/mediaextractor/MediaExtractorService.cpp b/services/mediaextractor/MediaExtractorService.cpp index 36e084bc26..ac6b7719fa 100644 --- a/services/mediaextractor/MediaExtractorService.cpp +++ b/services/mediaextractor/MediaExtractorService.cpp @@ -20,8 +20,8 @@ #include +#include #include -#include #include #include #include