diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c index e0158ce119..8772aad1cc 100644 --- a/libs/gst/base/gstbaseparse.c +++ b/libs/gst/base/gstbaseparse.c @@ -1925,9 +1925,10 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame) ret = GST_FLOW_OK; } else if (ret == GST_FLOW_OK) { if (parse->segment.rate > 0.0) { - ret = gst_pad_push (parse->srcpad, buffer); - GST_LOG_OBJECT (parse, "frame (%d bytes) pushed: %s", + GST_LOG_OBJECT (parse, "pushing frame (%d bytes) now..", GST_BUFFER_SIZE (buffer), gst_flow_get_name (ret)); + ret = gst_pad_push (parse->srcpad, buffer); + GST_LOG_OBJECT (parse, "frame pushed, flow %s", gst_flow_get_name (ret)); } else { GST_LOG_OBJECT (parse, "frame (%d bytes) queued for now", GST_BUFFER_SIZE (buffer)); @@ -1936,9 +1937,9 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame) ret = GST_FLOW_OK; } } else { - gst_buffer_unref (buffer); GST_LOG_OBJECT (parse, "frame (%d bytes) not pushed: %s", GST_BUFFER_SIZE (buffer), gst_flow_get_name (ret)); + gst_buffer_unref (buffer); /* if we are not sufficiently in control, let upstream decide on EOS */ if (ret == GST_FLOW_UNEXPECTED && (parse->priv->passthrough ||