From 408f723701526926a2eba3435a079f0a91b0df66 Mon Sep 17 00:00:00 2001 From: Rasmus Steinke Date: Mon, 24 Aug 2009 22:14:22 +0200 Subject: decoder/vorbis: faster tag scanning with ov_test_callback() using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files. --- src/decoder/vorbis_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/decoder/vorbis_plugin.c b/src/decoder/vorbis_plugin.c index d4f81e91f..81950eb22 100644 --- a/src/decoder/vorbis_plugin.c +++ b/src/decoder/vorbis_plugin.c @@ -383,7 +383,7 @@ vorbis_tag_dup(const char *file) return NULL; } - if (ov_open(fp, &vf, NULL, 0) < 0) { + if (ov_test_callbacks(fp, &vf, NULL, 0, OV_CALLBACKS_STREAMONLY) < 0) { fclose(fp); return NULL; } -- cgit v1.2.3