the event structure is now hidden, so don't access it directly.
goto skip_adjustments;
GST_LOG_OBJECT (pad, "Handling event %s: %" GST_PTR_FORMAT,
goto skip_adjustments;
GST_LOG_OBJECT (pad, "Handling event %s: %" GST_PTR_FORMAT,
- GST_EVENT_TYPE_NAME (event), event->structure);
+ GST_EVENT_TYPE_NAME (event), event);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_QOS:{
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_QOS:{
goto skip_adjustments;
GST_LOG_OBJECT (pad, "Handling event %s: %" GST_PTR_FORMAT,
goto skip_adjustments;
GST_LOG_OBJECT (pad, "Handling event %s: %" GST_PTR_FORMAT,
- GST_EVENT_TYPE_NAME (event), event->structure);
+ GST_EVENT_TYPE_NAME (event), event);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SINK_MESSAGE:{
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SINK_MESSAGE:{
GstEvent ** event2)
{
GstEvent *event;
GstEvent ** event2)
{
GstEvent *event;
+ GstStructure *structure;
*event1 = NULL;
*event2 = NULL;
event = gst_event_new_new_segment (FALSE, segment->rate,
segment->applied_rate, segment->format, 0, segment->accum, 0);
*event1 = NULL;
*event2 = NULL;
event = gst_event_new_new_segment (FALSE, segment->rate,
segment->applied_rate, segment->format, 0, segment->accum, 0);
- gst_structure_id_set (event->structure, _subtitle_overlay_event_marker_id,
+ structure = (GstStructure *) gst_event_get_structure (event);
+ gst_structure_id_set (structure, _subtitle_overlay_event_marker_id,
G_TYPE_BOOLEAN, TRUE, NULL);
*event1 = event;
event = gst_event_new_new_segment (FALSE, segment->rate,
segment->applied_rate, segment->format,
segment->start, segment->stop, segment->time);
G_TYPE_BOOLEAN, TRUE, NULL);
*event1 = event;
event = gst_event_new_new_segment (FALSE, segment->rate,
segment->applied_rate, segment->format,
segment->start, segment->stop, segment->time);
- gst_structure_id_set (event->structure, _subtitle_overlay_event_marker_id,
+ structure = (GstStructure *) gst_event_get_structure (event);
+ gst_structure_id_set (structure, _subtitle_overlay_event_marker_id,
G_TYPE_BOOLEAN, TRUE, NULL);
*event2 = event;
}
G_TYPE_BOOLEAN, TRUE, NULL);
*event2 = event;
}
_generate_update_newsegment_event (&self->video_segment, &event1, &event2);
GST_DEBUG_OBJECT (self,
_generate_update_newsegment_event (&self->video_segment, &event1, &event2);
GST_DEBUG_OBJECT (self,
- "Pushing video accumulate newsegment event: %" GST_PTR_FORMAT,
- event1->structure);
+ "Pushing video accumulate newsegment event: %" GST_PTR_FORMAT, event1);
- "Pushing video update newsegment event: %" GST_PTR_FORMAT,
- event2->structure);
+ "Pushing video update newsegment event: %" GST_PTR_FORMAT, event2);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
}
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
}
&event2);
GST_DEBUG_OBJECT (self,
"Pushing video accumulate newsegment event: %" GST_PTR_FORMAT,
&event2);
GST_DEBUG_OBJECT (self,
"Pushing video accumulate newsegment event: %" GST_PTR_FORMAT,
- "Pushing video update newsegment event: %" GST_PTR_FORMAT,
- event2->structure);
+ "Pushing video update newsegment event: %" GST_PTR_FORMAT, event2);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
&event2);
GST_DEBUG_OBJECT (self,
"Pushing subtitle accumulate newsegment event: %" GST_PTR_FORMAT,
&event2);
GST_DEBUG_OBJECT (self,
"Pushing subtitle accumulate newsegment event: %" GST_PTR_FORMAT,
GST_DEBUG_OBJECT (self,
"Pushing subtitle update newsegment event: %" GST_PTR_FORMAT,
GST_DEBUG_OBJECT (self,
"Pushing subtitle update newsegment event: %" GST_PTR_FORMAT,
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
&event2);
GST_DEBUG_OBJECT (self,
"Pushing video accumulate newsegment event: %" GST_PTR_FORMAT,
&event2);
GST_DEBUG_OBJECT (self,
"Pushing video accumulate newsegment event: %" GST_PTR_FORMAT,
- "Pushing video update newsegment event: %" GST_PTR_FORMAT,
- event2->structure);
+ "Pushing video update newsegment event: %" GST_PTR_FORMAT, event2);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_object_unref (sink);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_object_unref (sink);
&event2);
GST_DEBUG_OBJECT (self,
"Pushing subtitle accumulate newsegment event: %" GST_PTR_FORMAT,
&event2);
GST_DEBUG_OBJECT (self,
"Pushing subtitle accumulate newsegment event: %" GST_PTR_FORMAT,
GST_DEBUG_OBJECT (self,
"Pushing subtitle update newsegment event: %" GST_PTR_FORMAT,
GST_DEBUG_OBJECT (self,
"Pushing subtitle update newsegment event: %" GST_PTR_FORMAT,
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_object_unref (sink);
gst_pad_send_event (sink, event1);
gst_pad_send_event (sink, event2);
gst_object_unref (sink);
s = gst_event_get_structure (event);
if (s && gst_structure_id_has_field (s, _subtitle_overlay_event_marker_id)) {
GST_DEBUG_OBJECT (ghostpad, "Dropping event with marker: %" GST_PTR_FORMAT,
s = gst_event_get_structure (event);
if (s && gst_structure_id_has_field (s, _subtitle_overlay_event_marker_id)) {
GST_DEBUG_OBJECT (ghostpad, "Dropping event with marker: %" GST_PTR_FORMAT,
gst_event_unref (event);
event = NULL;
ret = TRUE;
gst_event_unref (event);
event = NULL;
ret = TRUE;
GstFormat format;
gint64 start, stop, position;
GstFormat format;
gint64 start, stop, position;
- GST_DEBUG_OBJECT (pad, "Newsegment event: %" GST_PTR_FORMAT,
- event->structure);
+ GST_DEBUG_OBJECT (pad, "Newsegment event: %" GST_PTR_FORMAT, event);
gst_event_parse_new_segment (event, &update, &rate, &applied_rate,
&format, &start, &stop, &position);
gst_event_parse_new_segment (event, &update, &rate, &applied_rate,
&format, &start, &stop, &position);
GstFormat format;
if (GST_EVENT_TYPE (event) == GST_EVENT_CUSTOM_DOWNSTREAM_OOB &&
GstFormat format;
if (GST_EVENT_TYPE (event) == GST_EVENT_CUSTOM_DOWNSTREAM_OOB &&
- event->structure
- && strcmp (gst_structure_get_name (event->structure),
- "subtitleoverlay-flush-subtitle") == 0) {
+ gst_event_has_name (event, "subtitleoverlay-flush-subtitle")) {
GST_DEBUG_OBJECT (pad, "Custom subtitle flush event");
GST_SUBTITLE_OVERLAY_LOCK (self);
self->subtitle_flush = TRUE;
GST_DEBUG_OBJECT (pad, "Custom subtitle flush event");
GST_SUBTITLE_OVERLAY_LOCK (self);
self->subtitle_flush = TRUE;
case GST_EVENT_FLUSH_START:
case GST_EVENT_NEWSEGMENT:
case GST_EVENT_EOS:
case GST_EVENT_FLUSH_START:
case GST_EVENT_NEWSEGMENT:
case GST_EVENT_EOS:
+ {
+ GstStructure *structure;
+
/* Add our event marker to make sure no events from here go ever outside
* the element, they're only interesting for our internal elements */
/* Add our event marker to make sure no events from here go ever outside
* the element, they're only interesting for our internal elements */
- event =
- GST_EVENT_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST
- (event)));
- if (!event->structure) {
- event->structure =
- gst_structure_id_empty_new (_subtitle_overlay_event_marker_id);
- gst_structure_set_parent_refcount (event->structure,
- &event->mini_object.refcount);
- }
- gst_structure_id_set (event->structure, _subtitle_overlay_event_marker_id,
+ event = GST_EVENT_CAST (gst_event_make_writable (event));
+ structure = gst_event_writable_structure (event);
+
+ gst_structure_id_set (structure, _subtitle_overlay_event_marker_id,
G_TYPE_BOOLEAN, TRUE, NULL);
break;
G_TYPE_BOOLEAN, TRUE, NULL);
break;
gdouble rate, applied_rate;
gint64 start, stop, position;
gdouble rate, applied_rate;
gint64 start, stop, position;
- GST_DEBUG_OBJECT (pad, "Newsegment event: %" GST_PTR_FORMAT,
- event->structure);
+ GST_DEBUG_OBJECT (pad, "Newsegment event: %" GST_PTR_FORMAT, event);
gst_event_parse_new_segment (event, &update, &rate, &applied_rate,
&format, &start, &stop, &position);
gst_event_parse_new_segment (event, &update, &rate, &applied_rate,
&format, &start, &stop, &position);