gstreamer
Loading...
Searching...
No Matches
eventHeader.cc
Go to the documentation of this file.
1// gstreamer
4
5// Implementation summary:
6// Append the event header fields to the JSON event object currently under construction.
7
8bool GstreamerJsonFactory::publishEventHeaderImpl(const std::unique_ptr<GEventHeader>& gevent_header) {
9 if (!is_building_event) {
10 log->error(
12 "publishEventHeaderImpl called without an active event in GstreamerJsonFactory");
13 return false;
14 }
15 if (!gevent_header) {
16 log->error(
18 "gevent_header is null in GstreamerJsonFactory::publishEventHeaderImpl");
19 return false;
20 }
21
22 // Cache selected values because other publish steps may use them for diagnostics
23 // or schema shaping.
24 timestamp = gevent_header->getTimeStamp();
25 thread_id = gevent_header->getThreadID();
26
27 // startEventImpl() already emitted:
28 // { "event_number": ..., "header": {
29 // so this method only appends the header fields themselves.
30 current_event << "\"timestamp\": \"" << jsonEscape(timestamp) << "\""
31 << ", \"thread_id\": " << thread_id
32 << ", \"g4local_event\": " << gevent_header->getG4LocalEvn();
33 current_event << "}"; // close the "header" object opened in startEventImpl
34
35 current_event_has_header = true;
36 return true;
37}
std::shared_ptr< GLogger > log
Shared constants and error codes for the gstreamer module.
JSON streamer plugin declarations.
constexpr int ERR_PUBLISH_ERROR
Publish sequence encountered invalid state or invalid input data.