Merge "libmpeg2extractor : Remove libmedia_headers dependency" am: 6f01fb530c
Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1336078
Change-Id: I5dd55fd2cb76313e705eaf31e269117e865a7bec
diff --git a/media/extractors/midi/Android.bp b/media/extractors/midi/Android.bp
index 8c6f20d..592ffa9 100644
--- a/media/extractors/midi/Android.bp
+++ b/media/extractors/midi/Android.bp
@@ -11,9 +11,7 @@
static_libs: [
"libmedia_midiiowrapper",
"libsonivox",
- "libstagefright_foundation",
- "libwatchdog",
- "libbase",
+ "libstagefright_foundation"
],
diff --git a/media/extractors/midi/MidiExtractor.cpp b/media/extractors/midi/MidiExtractor.cpp
index d0efb2f..9f4f9e6 100644
--- a/media/extractors/midi/MidiExtractor.cpp
+++ b/media/extractors/midi/MidiExtractor.cpp
@@ -26,7 +26,6 @@
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaErrors.h>
#include <libsonivox/eas_reverb.h>
-#include <watchdog/Watchdog.h>
namespace android {
@@ -117,7 +116,6 @@
MediaBufferHelper **outBuffer, const ReadOptions *options)
{
ALOGV("MidiSource::read");
-
MediaBufferHelper *buffer;
// process an optional seek request
int64_t seekTimeUs;
@@ -141,8 +139,6 @@
}
// MidiEngine
-using namespace std::chrono_literals;
-static constexpr auto kTimeout = 10s;
MidiEngine::MidiEngine(CDataSource *dataSource,
AMediaFormat *fileMetadata,
@@ -151,8 +147,6 @@
mEasHandle(NULL),
mEasConfig(NULL),
mIsInitialized(false) {
- Watchdog watchdog(kTimeout);
-
mIoWrapper = new MidiIoWrapper(dataSource);
// spin up a new EAS engine
EAS_I32 temp;
@@ -192,8 +186,6 @@
}
MidiEngine::~MidiEngine() {
- Watchdog watchdog(kTimeout);
-
if (mEasHandle) {
EAS_CloseFile(mEasData, mEasHandle);
}
@@ -225,16 +217,12 @@
}
status_t MidiEngine::seekTo(int64_t positionUs) {
- Watchdog watchdog(kTimeout);
-
ALOGV("seekTo %lld", (long long)positionUs);
EAS_RESULT result = EAS_Locate(mEasData, mEasHandle, positionUs / 1000, false);
return result == EAS_SUCCESS ? OK : UNKNOWN_ERROR;
}
MediaBufferHelper* MidiEngine::readBuffer() {
- Watchdog watchdog(kTimeout);
-
EAS_STATE state;
EAS_State(mEasData, mEasHandle, &state);
if ((state == EAS_STATE_STOPPED) || (state == EAS_STATE_ERROR)) {
diff --git a/media/extractors/tests/Android.bp b/media/extractors/tests/Android.bp
index fa39b64..059c308 100644
--- a/media/extractors/tests/Android.bp
+++ b/media/extractors/tests/Android.bp
@@ -33,7 +33,6 @@
"libmp4extractor",
"libaudioutils",
"libdatasource",
- "libwatchdog",
"libstagefright",
"libstagefright_id3",
@@ -66,7 +65,6 @@
"libcrypto",
"libhidlmemory",
"libhidlbase",
- "libbase",
],
include_dirs: [
diff --git a/media/libwatchdog/Android.bp b/media/libwatchdog/Android.bp
deleted file mode 100644
index 849623a..0000000
--- a/media/libwatchdog/Android.bp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2020 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.
-
-cc_library {
- name: "libwatchdog",
- srcs: [
- "Watchdog.cpp",
- ],
- export_include_dirs: ["include"],
- shared_libs: [
- "liblog",
- ],
- static_libs: [
- "libbase",
- ],
- target: {
- windows: {
- enabled: false,
- },
- darwin: {
- enabled: false,
- },
- },
- apex_available: ["com.android.media"],
-}
diff --git a/media/libwatchdog/Watchdog.cpp b/media/libwatchdog/Watchdog.cpp
deleted file mode 100644
index bb012b9..0000000
--- a/media/libwatchdog/Watchdog.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2020 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_TAG "Watchdog"
-
-#include <watchdog/Watchdog.h>
-
-#include <android-base/logging.h>
-#include <android-base/threads.h>
-#include <signal.h>
-#include <time.h>
-#include <cstring>
-#include <utils/Log.h>
-
-namespace android {
-
-Watchdog::Watchdog(::std::chrono::steady_clock::duration timeout) {
- // Create the timer.
- struct sigevent sev;
- sev.sigev_notify = SIGEV_THREAD_ID;
- sev.sigev_notify_thread_id = base::GetThreadId();
- sev.sigev_signo = SIGABRT;
- sev.sigev_value.sival_ptr = &mTimerId;
- int err = timer_create(CLOCK_MONOTONIC, &sev, &mTimerId);
- if (err != 0) {
- PLOG(FATAL) << "Failed to create timer";
- }
-
- // Start the timer.
- struct itimerspec spec;
- memset(&spec, 0, sizeof(spec));
- auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(timeout);
- LOG_ALWAYS_FATAL_IF(timeout.count() <= 0, "Duration must be positive");
- spec.it_value.tv_sec = ns.count() / 1000000000;
- spec.it_value.tv_nsec = ns.count() % 1000000000;
- err = timer_settime(mTimerId, 0, &spec, nullptr);
- if (err != 0) {
- PLOG(FATAL) << "Failed to start timer";
- }
-}
-
-Watchdog::~Watchdog() {
- // Delete the timer.
- int err = timer_delete(mTimerId);
- if (err != 0) {
- PLOG(FATAL) << "Failed to delete timer";
- }
-}
-
-} // namespace android
diff --git a/media/libwatchdog/include/watchdog/Watchdog.h b/media/libwatchdog/include/watchdog/Watchdog.h
deleted file mode 100644
index 2819f8a..0000000
--- a/media/libwatchdog/include/watchdog/Watchdog.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2020 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 ANDROID_WATCHDOG_H
-#define ANDROID_WATCHDOG_H
-
-#include <chrono>
-#include <time.h>
-
-namespace android {
-
-/*
- * An RAII-style object, which would crash the process if a timeout expires
- * before the object is destroyed.
- * The calling thread would be sent a SIGABORT, which would typically result in
- * a stack trace.
- *
- * Sample usage:
- * {
- * Watchdog watchdog(std::chrono::milliseconds(10));
- * DoSomething();
- * }
- * // If we got here, the function completed in time.
- */
-class Watchdog final {
-public:
- Watchdog(std::chrono::steady_clock::duration timeout);
- ~Watchdog();
-
-private:
- timer_t mTimerId;
-};
-
-} // namespace android
-
-#endif // ANDROID_WATCHDOG_H
diff --git a/services/mediaextractor/seccomp_policy/mediaextractor-arm.policy b/services/mediaextractor/seccomp_policy/mediaextractor-arm.policy
index b062775..02de431 100644
--- a/services/mediaextractor/seccomp_policy/mediaextractor-arm.policy
+++ b/services/mediaextractor/seccomp_policy/mediaextractor-arm.policy
@@ -41,9 +41,6 @@
getgroups32: 1
nanosleep: 1
getrandom: 1
-timer_create: 1
-timer_settime: 1
-timer_delete: 1
# for dynamically loading extractors
pread64: 1
diff --git a/services/mediaextractor/seccomp_policy/mediaextractor-arm64.policy b/services/mediaextractor/seccomp_policy/mediaextractor-arm64.policy
index 481e29e..8fd8787 100644
--- a/services/mediaextractor/seccomp_policy/mediaextractor-arm64.policy
+++ b/services/mediaextractor/seccomp_policy/mediaextractor-arm64.policy
@@ -30,9 +30,6 @@
getrlimit: 1
nanosleep: 1
getrandom: 1
-timer_create: 1
-timer_settime: 1
-timer_delete: 1
# for FileSource
readlinkat: 1
diff --git a/services/mediaextractor/seccomp_policy/mediaextractor-x86.policy b/services/mediaextractor/seccomp_policy/mediaextractor-x86.policy
index 15fb24e..05915d1 100644
--- a/services/mediaextractor/seccomp_policy/mediaextractor-x86.policy
+++ b/services/mediaextractor/seccomp_policy/mediaextractor-x86.policy
@@ -39,9 +39,6 @@
getgroups32: 1
nanosleep: 1
getrandom: 1
-timer_create: 1
-timer_settime: 1
-timer_delete: 1
# for dynamically loading extractors
getdents64: 1
diff --git a/services/mediaextractor/seccomp_policy/mediaextractor-x86_64.policy b/services/mediaextractor/seccomp_policy/mediaextractor-x86_64.policy
index 4f2646c..e6a55d0 100644
--- a/services/mediaextractor/seccomp_policy/mediaextractor-x86_64.policy
+++ b/services/mediaextractor/seccomp_policy/mediaextractor-x86_64.policy
@@ -34,9 +34,6 @@
getrlimit: 1
nanosleep: 1
getrandom: 1
-timer_create: 1
-timer_settime: 1
-timer_delete: 1
# for dynamically loading extractors
getdents64: 1