Loading media/libmediaplayerservice/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ cc_defaults { "android.hardware.media.omx@1.0", "av-types-aidl-cpp", "framework-permission-aidl-cpp", "libaconfig_storage_read_api_cc", "libaudioclient_aidl_conversion", "libbase", "libbinder_ndk", Loading Loading @@ -76,6 +77,7 @@ cc_defaults { "libstagefright_httplive", "libutils", "packagemanager_aidl-cpp", "server_configurable_flags", ], header_libs: [ Loading @@ -86,6 +88,7 @@ cc_defaults { ], static_libs: [ "com.android.media.flags.editing-aconfig-cc", "libplayerservice_datasource", "libstagefright_nuplayer", "libstagefright_rtsp", Loading media/libmediaplayerservice/StagefrightRecorder.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ #include <system/audio.h> #include <media/stagefright/rtsp/ARTPWriter.h> #include <com_android_media_editing_flags.h> namespace android { Loading Loading @@ -2121,7 +2122,8 @@ status_t StagefrightRecorder::setupVideoEncoder( uint32_t bLayers = std::min(2u, tsLayers - 1); // use up-to 2 B-layers // TODO(b/341121900): Remove this once B frames are handled correctly in screen recorder // use case in case of mic only if (mAudioSource == AUDIO_SOURCE_MIC && mVideoSource == VIDEO_SOURCE_SURFACE) { if (!com::android::media::editing::flags::stagefrightrecorder_enable_b_frames() && mAudioSource == AUDIO_SOURCE_MIC && mVideoSource == VIDEO_SOURCE_SURFACE) { bLayers = 0; } uint32_t pLayers = tsLayers - bLayers; Loading media/libstagefright/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,7 @@ cc_library { static_libs: [ "android.media.codec-aconfig-cc", "com.android.media.flags.editing-aconfig-cc", "libstagefright_esds", "libstagefright_color_conversion", "libyuv", Loading media/libstagefright/MPEG4Writer.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,8 @@ #include <media/esds/ESDS.h> #include "include/HevcUtils.h" #include <com_android_media_editing_flags.h> #ifndef __predict_false #define __predict_false(exp) __builtin_expect((exp) != 0, 0) #endif Loading Loading @@ -4944,6 +4946,8 @@ void MPEG4Writer::Track::writeEdtsBox() { // Track with start offset. ALOGV("Tracks starting > 0"); int32_t editDurationTicks = 0; int32_t trackStartOffsetBFramesUs = getMinCttsOffsetTimeUs() - kMaxCttsOffsetTimeUs; ALOGV("trackStartOffsetBFramesUs:%" PRId32, trackStartOffsetBFramesUs); if (mMinCttsOffsetTicks == mMaxCttsOffsetTicks) { // Video with no B frame or non-video track. editDurationTicks = Loading @@ -4952,8 +4956,6 @@ void MPEG4Writer::Track::writeEdtsBox() { ALOGV("editDuration:%" PRId64 "us", (trackStartOffsetUs + movieStartOffsetBFramesUs)); } else { // Track with B frame. int32_t trackStartOffsetBFramesUs = getMinCttsOffsetTimeUs() - kMaxCttsOffsetTimeUs; ALOGV("trackStartOffsetBFramesUs:%" PRId32, trackStartOffsetBFramesUs); editDurationTicks = ((trackStartOffsetUs + movieStartOffsetBFramesUs + trackStartOffsetBFramesUs) * mvhdTimeScale + 5E5) / 1E6; Loading @@ -4967,7 +4969,15 @@ void MPEG4Writer::Track::writeEdtsBox() { } else if (editDurationTicks < 0) { // Only video tracks with B Frames would hit this case. ALOGV("Edit list entry to negate start offset by B frames in other tracks"); if (com::android::media::editing::flags:: stagefrightrecorder_enable_b_frames()) { int32_t mediaTimeTicks = ((trackStartOffsetUs + movieStartOffsetBFramesUs + trackStartOffsetBFramesUs) * mTimeScale - 5E5) / 1E6; addOneElstTableEntry(tkhdDurationTicks, std::abs(mediaTimeTicks), 1, 0); } else { addOneElstTableEntry(tkhdDurationTicks, std::abs(editDurationTicks), 1, 0); } } else { ALOGV("No edit list entry needed for this track"); } Loading media/libstagefright/writer_fuzzers/Android.bp +14 −10 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package { // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_av_media_libstagefright_license"], default_team: "trendy_team_android_media_solutions_editing", } cc_defaults { Loading @@ -35,14 +36,17 @@ cc_defaults { "include", ], static_libs: [ "com.android.media.flags.editing-aconfig-cc", "liblog", "libstagefright_foundation", "libstagefright", "libstagefright_foundation", ], shared_libs: [ "libaconfig_storage_read_api_cc", "libbinder", "libcutils", "libutils", "server_configurable_flags", ], } Loading Loading
media/libmediaplayerservice/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ cc_defaults { "android.hardware.media.omx@1.0", "av-types-aidl-cpp", "framework-permission-aidl-cpp", "libaconfig_storage_read_api_cc", "libaudioclient_aidl_conversion", "libbase", "libbinder_ndk", Loading Loading @@ -76,6 +77,7 @@ cc_defaults { "libstagefright_httplive", "libutils", "packagemanager_aidl-cpp", "server_configurable_flags", ], header_libs: [ Loading @@ -86,6 +88,7 @@ cc_defaults { ], static_libs: [ "com.android.media.flags.editing-aconfig-cc", "libplayerservice_datasource", "libstagefright_nuplayer", "libstagefright_rtsp", Loading
media/libmediaplayerservice/StagefrightRecorder.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ #include <system/audio.h> #include <media/stagefright/rtsp/ARTPWriter.h> #include <com_android_media_editing_flags.h> namespace android { Loading Loading @@ -2121,7 +2122,8 @@ status_t StagefrightRecorder::setupVideoEncoder( uint32_t bLayers = std::min(2u, tsLayers - 1); // use up-to 2 B-layers // TODO(b/341121900): Remove this once B frames are handled correctly in screen recorder // use case in case of mic only if (mAudioSource == AUDIO_SOURCE_MIC && mVideoSource == VIDEO_SOURCE_SURFACE) { if (!com::android::media::editing::flags::stagefrightrecorder_enable_b_frames() && mAudioSource == AUDIO_SOURCE_MIC && mVideoSource == VIDEO_SOURCE_SURFACE) { bLayers = 0; } uint32_t pLayers = tsLayers - bLayers; Loading
media/libstagefright/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -321,6 +321,7 @@ cc_library { static_libs: [ "android.media.codec-aconfig-cc", "com.android.media.flags.editing-aconfig-cc", "libstagefright_esds", "libstagefright_color_conversion", "libyuv", Loading
media/libstagefright/MPEG4Writer.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -53,6 +53,8 @@ #include <media/esds/ESDS.h> #include "include/HevcUtils.h" #include <com_android_media_editing_flags.h> #ifndef __predict_false #define __predict_false(exp) __builtin_expect((exp) != 0, 0) #endif Loading Loading @@ -4944,6 +4946,8 @@ void MPEG4Writer::Track::writeEdtsBox() { // Track with start offset. ALOGV("Tracks starting > 0"); int32_t editDurationTicks = 0; int32_t trackStartOffsetBFramesUs = getMinCttsOffsetTimeUs() - kMaxCttsOffsetTimeUs; ALOGV("trackStartOffsetBFramesUs:%" PRId32, trackStartOffsetBFramesUs); if (mMinCttsOffsetTicks == mMaxCttsOffsetTicks) { // Video with no B frame or non-video track. editDurationTicks = Loading @@ -4952,8 +4956,6 @@ void MPEG4Writer::Track::writeEdtsBox() { ALOGV("editDuration:%" PRId64 "us", (trackStartOffsetUs + movieStartOffsetBFramesUs)); } else { // Track with B frame. int32_t trackStartOffsetBFramesUs = getMinCttsOffsetTimeUs() - kMaxCttsOffsetTimeUs; ALOGV("trackStartOffsetBFramesUs:%" PRId32, trackStartOffsetBFramesUs); editDurationTicks = ((trackStartOffsetUs + movieStartOffsetBFramesUs + trackStartOffsetBFramesUs) * mvhdTimeScale + 5E5) / 1E6; Loading @@ -4967,7 +4969,15 @@ void MPEG4Writer::Track::writeEdtsBox() { } else if (editDurationTicks < 0) { // Only video tracks with B Frames would hit this case. ALOGV("Edit list entry to negate start offset by B frames in other tracks"); if (com::android::media::editing::flags:: stagefrightrecorder_enable_b_frames()) { int32_t mediaTimeTicks = ((trackStartOffsetUs + movieStartOffsetBFramesUs + trackStartOffsetBFramesUs) * mTimeScale - 5E5) / 1E6; addOneElstTableEntry(tkhdDurationTicks, std::abs(mediaTimeTicks), 1, 0); } else { addOneElstTableEntry(tkhdDurationTicks, std::abs(editDurationTicks), 1, 0); } } else { ALOGV("No edit list entry needed for this track"); } Loading
media/libstagefright/writer_fuzzers/Android.bp +14 −10 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package { // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_av_media_libstagefright_license"], default_team: "trendy_team_android_media_solutions_editing", } cc_defaults { Loading @@ -35,14 +36,17 @@ cc_defaults { "include", ], static_libs: [ "com.android.media.flags.editing-aconfig-cc", "liblog", "libstagefright_foundation", "libstagefright", "libstagefright_foundation", ], shared_libs: [ "libaconfig_storage_read_api_cc", "libbinder", "libcutils", "libutils", "server_configurable_flags", ], } Loading