Project import generated by Copybara.

GitOrigin-RevId: d073f8e21be2fcc0e503cb97c6695078b6b75310
This commit is contained in:
MediaPipe Team
2021-02-27 03:30:05 -05:00
committed by chuoling
parent 39309bedba
commit 350fbb2100
755 changed files with 16391 additions and 11075 deletions
@@ -37,7 +37,7 @@ class BarrierInputStreamHandler : public InputStreamHandler {
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) override {
std::function<void(absl::Status)> error_callback) override {
InputStreamHandler::PrepareForRun(
std::move(headers_ready_callback), std::move(notification_callback),
std::move(schedule_callback), std::move(error_callback));
@@ -57,7 +57,7 @@ class BarrierInputStreamHandlerTest : public ::testing::Test {
std::placeholders::_1, std::placeholders::_2);
std::shared_ptr<tool::TagMap> input_tag_map =
tool::CreateTagMap({"input_a", "input_b", "input_c"}).ValueOrDie();
tool::CreateTagMap({"input_a", "input_b", "input_c"}).value();
input_stream_managers_.reset(
new InputStreamManager[input_tag_map->NumEntries()]);
@@ -79,16 +79,16 @@ class BarrierInputStreamHandlerTest : public ::testing::Test {
nullptr);
calculator_context_manager_.Initialize(
calculator_state_.get(), input_tag_map,
/*output_tag_map=*/tool::CreateTagMap({"output_a"}).ValueOrDie(),
/*output_tag_map=*/tool::CreateTagMap({"output_a"}).value(),
/*calculator_run_in_parallel=*/false);
mediapipe::StatusOr<std::unique_ptr<mediapipe::InputStreamHandler>>
absl::StatusOr<std::unique_ptr<mediapipe::InputStreamHandler>>
status_or_handler = InputStreamHandlerRegistry::CreateByName(
"BarrierInputStreamHandler", input_tag_map,
&calculator_context_manager_, MediaPipeOptions(),
/*calculator_run_in_parallel=*/false);
ASSERT_TRUE(status_or_handler.ok());
input_stream_handler_ = std::move(status_or_handler.ValueOrDie());
input_stream_handler_ = std::move(status_or_handler.value());
MP_ASSERT_OK(input_stream_handler_->InitializeInputStreamManagers(
input_stream_managers_.get()));
MP_ASSERT_OK(
@@ -109,10 +109,10 @@ class BarrierInputStreamHandlerTest : public ::testing::Test {
calculator_context_ = calculator_context;
}
void RecordError(const mediapipe::Status& error) { errors_.push_back(error); }
void RecordError(const absl::Status& error) { errors_.push_back(error); }
mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
return mediapipe::OkStatus();
absl::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
return absl::OkStatus();
}
void ReportQueueNoOp(InputStreamManager* stream, bool* stream_was_full) {}
@@ -121,13 +121,13 @@ class BarrierInputStreamHandlerTest : public ::testing::Test {
std::function<void()> headers_ready_callback_;
std::function<void()> notification_callback_;
std::function<void(CalculatorContext*)> schedule_callback_;
std::function<void(mediapipe::Status)> error_callback_;
std::function<mediapipe::Status(CalculatorContext*)> setup_shards_callback_;
std::function<void(absl::Status)> error_callback_;
std::function<absl::Status(CalculatorContext*)> setup_shards_callback_;
InputStreamManager::QueueSizeCallback queue_full_callback_;
InputStreamManager::QueueSizeCallback queue_not_full_callback_;
// Vector of errors encountered while using the stream.
std::vector<mediapipe::Status> errors_;
std::vector<absl::Status> errors_;
std::unique_ptr<CalculatorState> calculator_state_;
CalculatorContextManager calculator_context_manager_;
@@ -49,7 +49,7 @@ void DefaultInputStreamHandler::PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) {
std::function<void(absl::Status)> error_callback) {
sync_set_.PrepareForRun();
InputStreamHandler::PrepareForRun(
std::move(headers_ready_callback), std::move(notification_callback),
@@ -36,11 +36,10 @@ class DefaultInputStreamHandler : public InputStreamHandler {
protected:
// Reinitializes this InputStreamHandler before each CalculatorGraph run.
void PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) override;
void PrepareForRun(std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(absl::Status)> error_callback) override;
// In DefaultInputStreamHandler, a node is "ready" if:
// - all streams are done (need to call Close() in this case), or
@@ -46,17 +46,17 @@ bool g_source_done ABSL_GUARDED_BY(g_source_mutex);
class TestSourceCalculator : public CalculatorBase {
public:
TestSourceCalculator() : current_packet_id_(0) {}
static mediapipe::Status GetContract(CalculatorContract* cc) {
static absl::Status GetContract(CalculatorContract* cc) {
cc->Outputs().Index(0).Set<int64>();
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Open(CalculatorContext* cc) override {
absl::Status Open(CalculatorContext* cc) override {
absl::MutexLock lock(&g_source_mutex);
g_source_counter = 0;
g_source_done = false;
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Process(CalculatorContext* cc) override {
absl::Status Process(CalculatorContext* cc) override {
if (current_packet_id_ == kMaxPacketId) {
absl::MutexLock lock(&g_source_mutex);
g_source_done = true;
@@ -70,7 +70,7 @@ class TestSourceCalculator : public CalculatorBase {
g_source_mutex.Await(
absl::Condition(this, &TestSourceCalculator::CanProceed));
}
return mediapipe::OkStatus();
return absl::OkStatus();
}
private:
@@ -86,17 +86,17 @@ REGISTER_CALCULATOR(TestSourceCalculator);
class TestSlowCalculator : public CalculatorBase {
public:
TestSlowCalculator() = default;
static mediapipe::Status GetContract(CalculatorContract* cc) {
static absl::Status GetContract(CalculatorContract* cc) {
cc->Inputs().Index(0).Set<int64>();
cc->Outputs().Index(0).Set<int64>();
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Open(CalculatorContext* cc) override {
absl::Status Open(CalculatorContext* cc) override {
absl::MutexLock lock(&g_source_mutex);
g_slow_counter = 0;
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Process(CalculatorContext* cc) override {
absl::Status Process(CalculatorContext* cc) override {
cc->Outputs().Index(0).Add(new int64(0),
cc->Inputs().Index(0).Value().Timestamp());
{
@@ -105,7 +105,7 @@ class TestSlowCalculator : public CalculatorBase {
g_source_mutex.Await(
absl::Condition(this, &TestSlowCalculator::CanProceed));
}
return mediapipe::OkStatus();
return absl::OkStatus();
}
private:
@@ -41,11 +41,10 @@ class ImmediateInputStreamHandler : public InputStreamHandler {
protected:
// Reinitializes this InputStreamHandler before each CalculatorGraph run.
void PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) override;
void PrepareForRun(std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(absl::Status)> error_callback) override;
// Returns kReadyForProcess whenever a Packet is available at any of
// the input streams, or any input stream becomes done.
@@ -83,7 +82,7 @@ void ImmediateInputStreamHandler::PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) {
std::function<void(absl::Status)> error_callback) {
{
absl::MutexLock lock(&mutex_);
for (int i = 0; i < sync_sets_.size(); ++i) {
@@ -57,7 +57,7 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
std::placeholders::_1, std::placeholders::_2);
std::shared_ptr<tool::TagMap> input_tag_map =
tool::CreateTagMap({"input_a", "input_b", "input_c"}).ValueOrDie();
tool::CreateTagMap({"input_a", "input_b", "input_c"}).value();
input_stream_managers_.reset(
new InputStreamManager[input_tag_map->NumEntries()]);
@@ -79,16 +79,16 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
nullptr);
cc_manager_.Initialize(
calculator_state_.get(), input_tag_map,
/*output_tag_map=*/tool::CreateTagMap({"output_a"}).ValueOrDie(),
/*output_tag_map=*/tool::CreateTagMap({"output_a"}).value(),
/*calculator_run_in_parallel=*/false);
mediapipe::StatusOr<std::unique_ptr<mediapipe::InputStreamHandler>>
absl::StatusOr<std::unique_ptr<mediapipe::InputStreamHandler>>
status_or_handler = InputStreamHandlerRegistry::CreateByName(
"ImmediateInputStreamHandler", input_tag_map, &cc_manager_,
MediaPipeOptions(),
/*calculator_run_in_parallel=*/false);
ASSERT_TRUE(status_or_handler.ok());
input_stream_handler_ = std::move(status_or_handler.ValueOrDie());
input_stream_handler_ = std::move(status_or_handler.value());
MP_ASSERT_OK(input_stream_handler_->InitializeInputStreamManagers(
input_stream_managers_.get()));
MP_ASSERT_OK(cc_manager_.PrepareForRun(setup_shards_callback_));
@@ -108,10 +108,10 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
cc_ = cc;
}
void RecordError(const mediapipe::Status& error) { errors_.push_back(error); }
void RecordError(const absl::Status& error) { errors_.push_back(error); }
mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
return mediapipe::OkStatus();
absl::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
return absl::OkStatus();
}
void ReportQueueNoOp(InputStreamManager* stream, bool* stream_was_full) {}
@@ -140,13 +140,13 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
std::function<void()> headers_ready_callback_;
std::function<void()> notification_callback_;
std::function<void(CalculatorContext*)> schedule_callback_;
std::function<void(mediapipe::Status)> error_callback_;
std::function<mediapipe::Status(CalculatorContext*)> setup_shards_callback_;
std::function<void(absl::Status)> error_callback_;
std::function<absl::Status(CalculatorContext*)> setup_shards_callback_;
InputStreamManager::QueueSizeCallback queue_full_callback_;
InputStreamManager::QueueSizeCallback queue_not_full_callback_;
// Vector of errors encountered while using the stream.
std::vector<mediapipe::Status> errors_;
std::vector<absl::Status> errors_;
std::unique_ptr<CalculatorState> calculator_state_;
CalculatorContextManager cc_manager_;
@@ -108,9 +108,9 @@ TEST(MuxInputStreamHandlerTest, AtomicAccessToControlAndDataStreams) {
// ignored.
class FixedPassThroughCalculator : public CalculatorBase {
public:
static mediapipe::Status GetContract(CalculatorContract* cc) {
static absl::Status GetContract(CalculatorContract* cc) {
if (!cc->Inputs().TagMap()->SameAs(*cc->Outputs().TagMap())) {
return mediapipe::InvalidArgumentError(
return absl::InvalidArgumentError(
"Input and output streams to PassThroughCalculator must use "
"matching tags and indexes.");
}
@@ -126,7 +126,7 @@ class FixedPassThroughCalculator : public CalculatorBase {
if (cc->OutputSidePackets().NumEntries() != 0) {
if (!cc->InputSidePackets().TagMap()->SameAs(
*cc->OutputSidePackets().TagMap())) {
return mediapipe::InvalidArgumentError(
return absl::InvalidArgumentError(
"Input and output side packets to PassThroughCalculator must use "
"matching tags and indexes.");
}
@@ -148,10 +148,10 @@ class FixedPassThroughCalculator : public CalculatorBase {
->set_target_queue_size(2);
cc->SetInputStreamHandlerOptions(options);
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Open(CalculatorContext* cc) final {
absl::Status Open(CalculatorContext* cc) final {
for (CollectionItemId id = cc->Inputs().BeginId();
id < cc->Inputs().EndId(); ++id) {
if (!cc->Inputs().Get(id).Header().IsEmpty()) {
@@ -165,10 +165,10 @@ class FixedPassThroughCalculator : public CalculatorBase {
}
}
cc->SetOffset(TimestampDiff(0));
return mediapipe::OkStatus();
return absl::OkStatus();
}
mediapipe::Status Process(CalculatorContext* cc) final {
absl::Status Process(CalculatorContext* cc) final {
cc->GetCounter("PassThrough")->Increment();
if (cc->Inputs().NumEntries() == 0) {
return tool::StatusStop();
@@ -182,7 +182,7 @@ class FixedPassThroughCalculator : public CalculatorBase {
cc->Outputs().Get(id).AddPacket(cc->Inputs().Get(id).Value());
}
}
return mediapipe::OkStatus();
return absl::OkStatus();
}
};
REGISTER_CALCULATOR(FixedPassThroughCalculator);
@@ -44,11 +44,10 @@ class SyncSetInputStreamHandler : public InputStreamHandler {
const MediaPipeOptions& extendable_options,
bool calculator_run_in_parallel);
void PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) override;
void PrepareForRun(std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(absl::Status)> error_callback) override;
protected:
// In SyncSetInputStreamHandler, a node is "ready" if any
@@ -94,7 +93,7 @@ void SyncSetInputStreamHandler::PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) {
std::function<void(absl::Status)> error_callback) {
const auto& handler_options =
options_.GetExtension(SyncSetInputStreamHandlerOptions::ext);
{
@@ -36,8 +36,8 @@ namespace mediapipe {
namespace {
// The type LambdaCalculator takes.
typedef std::function<mediapipe::Status(const InputStreamShardSet&,
OutputStreamShardSet*)>
typedef std::function<absl::Status(const InputStreamShardSet&,
OutputStreamShardSet*)>
ProcessFunction;
// Helper function to create a tuple (inside an initializer list).
@@ -50,8 +50,8 @@ std::tuple<std::string, Timestamp, std::vector<std::string>> CommandTuple(
// Function to take the inputs and produce a diagnostic output std::string
// and output a packet with a diagnostic output std::string which includes
// the input timestamp and the ids of each input which is present.
mediapipe::Status InputsToDebugString(const InputStreamShardSet& inputs,
OutputStreamShardSet* outputs) {
absl::Status InputsToDebugString(const InputStreamShardSet& inputs,
OutputStreamShardSet* outputs) {
std::string output;
Timestamp output_timestamp;
for (CollectionItemId id = inputs.BeginId(); id < inputs.EndId(); ++id) {
@@ -79,7 +79,7 @@ mediapipe::Status InputsToDebugString(const InputStreamShardSet& inputs,
// TODO Output at output_timestamp once unordered output stream
// handlers are allowed.
outputs->Index(0).AddPacket(output_packet);
return mediapipe::OkStatus();
return absl::OkStatus();
}
TEST(SyncSetInputStreamHandlerTest, OrdinaryOperation) {
@@ -273,7 +273,7 @@ TEST(SyncSetInputStreamHandlerTest, OrdinaryOperation) {
MP_ASSERT_OK(
graph.ObserveOutputStream("output", [&outputs](const Packet& packet) {
outputs.push_back(packet);
return mediapipe::OkStatus();
return absl::OkStatus();
}));
MP_ASSERT_OK(graph.StartRun({}));
for (int command_index = 0; command_index < shuffled_commands.size();
@@ -52,11 +52,10 @@ class TimestampAlignInputStreamHandler : public InputStreamHandler {
const MediaPipeOptions& options,
bool calculator_run_in_parallel);
void PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) override;
void PrepareForRun(std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(absl::Status)> error_callback) override;
protected:
// In TimestampAlignInputStreamHandler, a node is "ready" if:
@@ -107,7 +106,7 @@ void TimestampAlignInputStreamHandler::PrepareForRun(
std::function<void()> headers_ready_callback,
std::function<void()> notification_callback,
std::function<void(CalculatorContext*)> schedule_callback,
std::function<void(mediapipe::Status)> error_callback) {
std::function<void(absl::Status)> error_callback) {
{
absl::MutexLock lock(&mutex_);
offsets_initialized_ = (input_stream_managers_.NumEntries() == 1);