Project import generated by Copybara.
GitOrigin-RevId: d8caa66de45839696f5bd0786ad3bfbcb9cff632
This commit is contained in:
@@ -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(mediapipe::Status)> error_callback) override {
|
||||
InputStreamHandler::PrepareForRun(
|
||||
std::move(headers_ready_callback), std::move(notification_callback),
|
||||
std::move(schedule_callback), std::move(error_callback));
|
||||
|
||||
@@ -109,12 +109,10 @@ class BarrierInputStreamHandlerTest : public ::testing::Test {
|
||||
calculator_context_ = calculator_context;
|
||||
}
|
||||
|
||||
void RecordError(const ::mediapipe::Status& error) {
|
||||
errors_.push_back(error);
|
||||
}
|
||||
void RecordError(const mediapipe::Status& error) { errors_.push_back(error); }
|
||||
|
||||
::mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
|
||||
return ::mediapipe::OkStatus();
|
||||
mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
void ReportQueueNoOp(InputStreamManager* stream, bool* stream_was_full) {}
|
||||
@@ -123,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(mediapipe::Status)> error_callback_;
|
||||
std::function<mediapipe::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<mediapipe::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(mediapipe::Status)> error_callback) {
|
||||
sync_set_.PrepareForRun();
|
||||
InputStreamHandler::PrepareForRun(
|
||||
std::move(headers_ready_callback), std::move(notification_callback),
|
||||
|
||||
@@ -40,7 +40,7 @@ class DefaultInputStreamHandler : 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(mediapipe::Status)> error_callback) override;
|
||||
|
||||
// In DefaultInputStreamHandler, a node is "ready" if:
|
||||
// - all streams are done (need to call Close() in this case), or
|
||||
|
||||
@@ -30,7 +30,7 @@ TEST(DefaultInputStreamHandlerTest, NoBatchingWorks) {
|
||||
// A single calculator with two input streams, and two output streams. This
|
||||
// calculator passes all the input packets along.
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input0"
|
||||
input_stream: "input1"
|
||||
node {
|
||||
@@ -88,7 +88,7 @@ TEST(DefaultInputStreamHandlerTest, Batches) {
|
||||
// A single batching calculator with one input stream and one output stream.
|
||||
// This calculator passes all the input packets onto the output streams.
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input0"
|
||||
node {
|
||||
calculator: "PassThroughCalculator"
|
||||
@@ -152,7 +152,7 @@ TEST(DefaultInputStreamHandlerTest, BatchIsFlushedWhenClosing) {
|
||||
// A single batching calculator with one input stream and one output stream.
|
||||
// This calculator passes all the input packets onto the output streams.
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input0"
|
||||
node {
|
||||
calculator: "PassThroughCalculator"
|
||||
@@ -211,7 +211,7 @@ TEST(DefaultInputStreamHandlerTest, BatchIsFlushedWhenClosing) {
|
||||
// batching except for the first timestamp of the batch.
|
||||
TEST(DefaultInputStreamHandlerTest, DoesntPropagateTimestampWhenBatching) {
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input0"
|
||||
input_stream: "input1"
|
||||
node {
|
||||
|
||||
@@ -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 mediapipe::Status GetContract(CalculatorContract* cc) {
|
||||
cc->Outputs().Index(0).Set<int64>();
|
||||
return ::mediapipe::OkStatus();
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
::mediapipe::Status Open(CalculatorContext* cc) override {
|
||||
mediapipe::Status Open(CalculatorContext* cc) override {
|
||||
absl::MutexLock lock(&g_source_mutex);
|
||||
g_source_counter = 0;
|
||||
g_source_done = false;
|
||||
return ::mediapipe::OkStatus();
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
::mediapipe::Status Process(CalculatorContext* cc) override {
|
||||
mediapipe::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 mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -86,17 +86,17 @@ REGISTER_CALCULATOR(TestSourceCalculator);
|
||||
class TestSlowCalculator : public CalculatorBase {
|
||||
public:
|
||||
TestSlowCalculator() = default;
|
||||
static ::mediapipe::Status GetContract(CalculatorContract* cc) {
|
||||
static mediapipe::Status GetContract(CalculatorContract* cc) {
|
||||
cc->Inputs().Index(0).Set<int64>();
|
||||
cc->Outputs().Index(0).Set<int64>();
|
||||
return ::mediapipe::OkStatus();
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
::mediapipe::Status Open(CalculatorContext* cc) override {
|
||||
mediapipe::Status Open(CalculatorContext* cc) override {
|
||||
absl::MutexLock lock(&g_source_mutex);
|
||||
g_slow_counter = 0;
|
||||
return ::mediapipe::OkStatus();
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
::mediapipe::Status Process(CalculatorContext* cc) override {
|
||||
mediapipe::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 mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -253,7 +253,7 @@ TEST_P(FixedSizeInputStreamHandlerTest, ParallelWriteAndRead) {
|
||||
MP_ASSERT_OK(graph.StartRun({}));
|
||||
|
||||
{
|
||||
::mediapipe::ThreadPool pool(3);
|
||||
mediapipe::ThreadPool pool(3);
|
||||
pool.StartWorkers();
|
||||
|
||||
// Start 3 writers.
|
||||
|
||||
@@ -45,7 +45,7 @@ class ImmediateInputStreamHandler : 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(mediapipe::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 +83,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(mediapipe::Status)> error_callback) {
|
||||
{
|
||||
absl::MutexLock lock(&mutex_);
|
||||
for (int i = 0; i < sync_sets_.size(); ++i) {
|
||||
|
||||
@@ -108,12 +108,10 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
|
||||
cc_ = cc;
|
||||
}
|
||||
|
||||
void RecordError(const ::mediapipe::Status& error) {
|
||||
errors_.push_back(error);
|
||||
}
|
||||
void RecordError(const mediapipe::Status& error) { errors_.push_back(error); }
|
||||
|
||||
::mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
|
||||
return ::mediapipe::OkStatus();
|
||||
mediapipe::Status SetupShardsNoOp(CalculatorContext* calculator_context) {
|
||||
return mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
void ReportQueueNoOp(InputStreamManager* stream, bool* stream_was_full) {}
|
||||
@@ -123,10 +121,10 @@ class ImmediateInputStreamHandlerTest : public ::testing::Test {
|
||||
const std::map<std::string, std::string>& expected_values) {
|
||||
for (const auto& name_and_id : name_to_id_) {
|
||||
const InputStream& input_stream = input_set.Get(name_and_id.second);
|
||||
if (::mediapipe::ContainsKey(expected_values, name_and_id.first)) {
|
||||
if (mediapipe::ContainsKey(expected_values, name_and_id.first)) {
|
||||
ASSERT_FALSE(input_stream.Value().IsEmpty());
|
||||
EXPECT_EQ(input_stream.Value().Get<std::string>(),
|
||||
::mediapipe::FindOrDie(expected_values, name_and_id.first));
|
||||
mediapipe::FindOrDie(expected_values, name_and_id.first));
|
||||
} else {
|
||||
EXPECT_TRUE(input_stream.Value().IsEmpty());
|
||||
}
|
||||
@@ -142,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(mediapipe::Status)> error_callback_;
|
||||
std::function<mediapipe::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<mediapipe::Status> errors_;
|
||||
|
||||
std::unique_ptr<CalculatorState> calculator_state_;
|
||||
CalculatorContextManager cc_manager_;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace {
|
||||
// MuxInputStreamHandler should fail when running this test.
|
||||
TEST(MuxInputStreamHandlerTest, AtomicAccessToControlAndDataStreams) {
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input"
|
||||
node {
|
||||
calculator: "RoundRobinDemuxCalculator"
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace {
|
||||
// MuxInputStreamHandler should fail when running this test.
|
||||
TEST(MuxInputStreamHandlerTest, AtomicAccessToControlAndDataStreams) {
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input"
|
||||
node {
|
||||
calculator: "RoundRobinDemuxCalculator"
|
||||
@@ -108,9 +108,9 @@ TEST(MuxInputStreamHandlerTest, AtomicAccessToControlAndDataStreams) {
|
||||
// ignored.
|
||||
class FixedPassThroughCalculator : public CalculatorBase {
|
||||
public:
|
||||
static ::mediapipe::Status GetContract(CalculatorContract* cc) {
|
||||
static mediapipe::Status GetContract(CalculatorContract* cc) {
|
||||
if (!cc->Inputs().TagMap()->SameAs(*cc->Outputs().TagMap())) {
|
||||
return ::mediapipe::InvalidArgumentError(
|
||||
return mediapipe::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 mediapipe::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 mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
::mediapipe::Status Open(CalculatorContext* cc) final {
|
||||
mediapipe::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 mediapipe::OkStatus();
|
||||
}
|
||||
|
||||
::mediapipe::Status Process(CalculatorContext* cc) final {
|
||||
mediapipe::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 mediapipe::OkStatus();
|
||||
}
|
||||
};
|
||||
REGISTER_CALCULATOR(FixedPassThroughCalculator);
|
||||
@@ -194,7 +194,7 @@ REGISTER_CALCULATOR(FixedPassThroughCalculator);
|
||||
TEST(FixedSizeInputStreamHandlerTest, ParallelWriteAndRead) {
|
||||
#define NUM_STREAMS 4
|
||||
CalculatorGraphConfig graph_config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(
|
||||
R"(
|
||||
input_stream: "in_0"
|
||||
input_stream: "in_1"
|
||||
@@ -222,7 +222,7 @@ TEST(FixedSizeInputStreamHandlerTest, ParallelWriteAndRead) {
|
||||
MP_ASSERT_OK(graph.StartRun({}));
|
||||
|
||||
{
|
||||
::mediapipe::ThreadPool pool(NUM_STREAMS);
|
||||
mediapipe::ThreadPool pool(NUM_STREAMS);
|
||||
pool.StartWorkers();
|
||||
|
||||
// Start writers.
|
||||
|
||||
@@ -48,7 +48,7 @@ class SyncSetInputStreamHandler : 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(mediapipe::Status)> error_callback) override;
|
||||
|
||||
protected:
|
||||
// In SyncSetInputStreamHandler, a node is "ready" if any
|
||||
@@ -94,7 +94,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(mediapipe::Status)> error_callback) {
|
||||
const auto& handler_options =
|
||||
options_.GetExtension(SyncSetInputStreamHandlerOptions::ext);
|
||||
{
|
||||
@@ -110,7 +110,7 @@ void SyncSetInputStreamHandler::PrepareForRun(
|
||||
MEDIAPIPE_CHECK_OK(tool::ParseTagIndex(tag_index, &tag, &index));
|
||||
CollectionItemId id = input_stream_managers_.GetId(tag, index);
|
||||
CHECK(id.IsValid()) << "stream \"" << tag_index << "\" is not found.";
|
||||
CHECK(!::mediapipe::ContainsKey(used_ids, id))
|
||||
CHECK(!mediapipe::ContainsKey(used_ids, id))
|
||||
<< "stream \"" << tag_index << "\" is in more than one sync set.";
|
||||
used_ids.insert(id);
|
||||
stream_ids.push_back(id);
|
||||
@@ -120,7 +120,7 @@ void SyncSetInputStreamHandler::PrepareForRun(
|
||||
std::vector<CollectionItemId> remaining_ids;
|
||||
for (CollectionItemId id = input_stream_managers_.BeginId();
|
||||
id < input_stream_managers_.EndId(); ++id) {
|
||||
if (!::mediapipe::ContainsKey(used_ids, id)) {
|
||||
if (!mediapipe::ContainsKey(used_ids, id)) {
|
||||
remaining_ids.push_back(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ namespace mediapipe {
|
||||
namespace {
|
||||
|
||||
// The type LambdaCalculator takes.
|
||||
typedef std::function<::mediapipe::Status(const InputStreamShardSet&,
|
||||
OutputStreamShardSet*)>
|
||||
typedef std::function<mediapipe::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) {
|
||||
mediapipe::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 @@ std::tuple<std::string, Timestamp, std::vector<std::string>> CommandTuple(
|
||||
// TODO Output at output_timestamp once unordered output stream
|
||||
// handlers are allowed.
|
||||
outputs->Index(0).AddPacket(output_packet);
|
||||
return ::mediapipe::OkStatus();
|
||||
return mediapipe::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 mediapipe::OkStatus();
|
||||
}));
|
||||
MP_ASSERT_OK(graph.StartRun({}));
|
||||
for (int command_index = 0; command_index < shuffled_commands.size();
|
||||
|
||||
@@ -56,7 +56,7 @@ class TimestampAlignInputStreamHandler : 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(mediapipe::Status)> error_callback) override;
|
||||
|
||||
protected:
|
||||
// In TimestampAlignInputStreamHandler, a node is "ready" if:
|
||||
@@ -107,7 +107,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(mediapipe::Status)> error_callback) {
|
||||
{
|
||||
absl::MutexLock lock(&mutex_);
|
||||
offsets_initialized_ = (input_stream_managers_.NumEntries() == 1);
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace {
|
||||
|
||||
TEST(TimestampAlignInputStreamHandlerTest, Initialization) {
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input_video"
|
||||
input_stream: "input_camera"
|
||||
node {
|
||||
@@ -121,7 +121,7 @@ TEST(TimestampAlignInputStreamHandlerTest, Initialization) {
|
||||
|
||||
TEST(TimestampAlignInputStreamHandlerTest, TickRate) {
|
||||
CalculatorGraphConfig config =
|
||||
::mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
|
||||
input_stream: "input_video"
|
||||
input_stream: "input_camera"
|
||||
node {
|
||||
|
||||
Reference in New Issue
Block a user