MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ extract_processing_state_info()

std::unordered_map< std::string, std::any > MayaFlux::Kakshya::extract_processing_state_info ( const std::shared_ptr< SignalSourceContainer > &  container)

Extract processing state information from container.

Parameters
containerContainer to analyze.
Returns
Map containing processing state metadata.

Definition at line 10 of file ContainerUtils.cpp.

11{
12 if (!container) {
13 throw std::invalid_argument("Container is null");
14 }
15
16 std::unordered_map<std::string, std::any> state_info;
17
18 state_info["processing_state"] = static_cast<int>(container->get_processing_state());
19 state_info["is_ready"] = container->is_ready_for_processing();
20
21 if (auto stream = std::dynamic_pointer_cast<StreamContainer>(container)) {
22 state_info["read_position"] = stream->get_read_position();
23 state_info["is_stream_container"] = true;
24 } else {
25 state_info["is_stream_container"] = false;
26 }
27
28 return state_info;
29}