diff --git a/gst/interpipe/gstinterpipesrc.c b/gst/interpipe/gstinterpipesrc.c index 7cf3c75..bf12413 100644 --- a/gst/interpipe/gstinterpipesrc.c +++ b/gst/interpipe/gstinterpipesrc.c @@ -725,8 +725,11 @@ gst_inter_pipe_src_push_event (GstInterPipeIListener * iface, GstEvent * event, srcbasetime = gst_element_get_base_time (GST_ELEMENT (appsrc)); if (srcbasetime > basetime) { - GST_EVENT_TIMESTAMP (event) = - GST_EVENT_TIMESTAMP (event) - (srcbasetime - basetime); + if (GST_EVENT_TIMESTAMP (event) > (srcbasetime - basetime)) + GST_EVENT_TIMESTAMP (event) = + GST_EVENT_TIMESTAMP (event) - (srcbasetime - basetime); + else + GST_EVENT_TIMESTAMP (event) = 0; } else { GST_EVENT_TIMESTAMP (event) = GST_EVENT_TIMESTAMP (event) + (basetime - srcbasetime);