GST_DEBUG_CATEGORY_STATIC (avidemux_debug);
#define GST_CAT_DEFAULT avidemux_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
GST_DEBUG_CATEGORY_EXTERN (GST_CAT_EVENT);
GST_DEBUG_CATEGORY_INIT (avidemux_debug, "avidemux",
0, "Demuxer for AVI streams");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
parent_class = g_type_class_peek_parent (klass);
gst_avi_demux_parse_file_header (GstElement * element, GstBuffer * buf)
{
guint32 doctype;
+ GstClockTime stamp;
+
+ stamp = gst_util_get_timestamp ();
/* riff_parse posts an error */
if (!gst_riff_parse_file_header (element, buf, &doctype))
if (doctype != GST_RIFF_RIFF_AVI)
goto not_avi;
+ stamp = gst_util_get_timestamp () - stamp;
+ GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "parsing header %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stamp));
+
return TRUE;
/* ERRORS */
guint8 *data;
GList *entries_list = NULL;
guint i, num, n;
-
#ifndef GST_DISABLE_GST_DEBUG
gulong _nr_keyframes = 0;
#endif
+ GstClockTime stamp;
if (!buf || !GST_BUFFER_SIZE (buf)) {
*_entries_list = NULL;
return;
}
+ stamp = gst_util_get_timestamp ();
+
data = GST_BUFFER_DATA (buf);
num = GST_BUFFER_SIZE (buf) / sizeof (gst_riff_index_entry);
if (!(entries = g_try_new (gst_avi_index_entry, num)))
} else {
g_free (entries);
}
+
+ stamp = gst_util_get_timestamp () - stamp;
+ GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "parsing index %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stamp));
+
return;
/* ERRORS */
guint i;
GList *node;
gint64 delay = G_GINT64_CONSTANT (0);
+ GstClockTime stamp;
+
+ stamp = gst_util_get_timestamp ();
GST_LOG_OBJECT (avi, "Starting index massage, nr_entries = %d",
list ? g_list_length (list) : 0);
#endif
GST_LOG_OBJECT (avi, "Index massaging done");
+
+ stamp = gst_util_get_timestamp () - stamp;
+
+ GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "massaging index %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stamp));
+
return TRUE;
/* ERRORS */
out_of_mem:
- GST_WARNING_OBJECT (avi, "Out of memory for %" G_GSIZE_FORMAT " bytes",
- sizeof (gst_avi_index_entry) * avi->index_size);
- return FALSE;
+ {
+ GST_WARNING_OBJECT (avi, "Out of memory for %" G_GSIZE_FORMAT " bytes",
+ sizeof (gst_avi_index_entry) * avi->index_size);
+ return FALSE;
+ }
}
static void
guint offset = 4;
gint64 stop;
GstElement *element = GST_ELEMENT_CAST (avi);
+ GstClockTime stamp;
+
+ stamp = gst_util_get_timestamp ();
/* the header consists of a 'hdrl' LIST tag */
res = gst_riff_read_chunk (element, avi->sinkpad, &avi->offset, &tag, &buf);
(FALSE, avi->segment.rate, GST_FORMAT_TIME,
avi->segment.start, stop, avi->segment.start);
+ stamp = gst_util_get_timestamp () - stamp;
+ GST_CAT_DEBUG (GST_CAT_PERFORMANCE, "pulling header %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stamp));
+
/* at this point we know all the streams and we can signal the no more
* pads signal */
GST_DEBUG_OBJECT (avi, "signaling no more pads");