22 #ifndef GSTREAMER_BUS_H
23 #define GSTREAMER_BUS_H
47 type(GST_MESSAGE_TYPE(msg)),
48 source(GST_MESSAGE_SRC_NAME(msg)),
53 case GST_MESSAGE_UNKNOWN:
54 throw std::runtime_error(
"Cannot construct message for type unknown");
56 case GST_MESSAGE_ERROR:
58 gst_message_parse_error(
69 case GST_MESSAGE_WARNING:
70 gst_message_parse_warning(
80 case GST_MESSAGE_INFO:
81 gst_message_parse_info(
92 gst_message_parse_tag(
100 case GST_MESSAGE_BUFFERING:
101 gst_message_parse_buffering(
105 case GST_MESSAGE_STATE_CHANGED:
106 gst_message_parse_state_changed(
112 case GST_MESSAGE_STEP_DONE:
113 gst_message_parse_step_done(
124 case GST_MESSAGE_CLOCK_PROVIDE:
125 gst_message_parse_clock_provide(
130 case GST_MESSAGE_CLOCK_LOST:
131 gst_message_parse_clock_lost(
135 case GST_MESSAGE_NEW_CLOCK:
136 gst_message_parse_new_clock(
140 case GST_MESSAGE_SEGMENT_START:
141 gst_message_parse_segment_start(
146 case GST_MESSAGE_SEGMENT_DONE:
147 gst_message_parse_segment_done(
152 case GST_MESSAGE_ASYNC_DONE:
153 gst_message_parse_async_done(
157 case GST_MESSAGE_STEP_START:
158 gst_message_parse_step_start(
167 case GST_MESSAGE_QOS:
168 gst_message_parse_qos(
283 auto thiz =
static_cast<Bus*
>(data);
285 thiz->notifyNewMessage(message);
301 gst_object_unref(
bus);
307 throw std::runtime_error(
"Cannot create Bus instance if underlying instance is NULL.");
342 #endif // GSTREAMER_BUS_H