about summary refs log tree commit
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-09-03 14:57:56 -0700
committerEric Wong <normalperson@yhbt.net>2006-09-09 18:57:40 -0700
commit393793995e82668893cae62ba971bfbf55a5e7d8 (patch)
tree710bf2d6edf6bd3e916336039a7fd70bb2995418
parentf23b8f5147eed4520ced9a88fc80ec72777b21b4 (diff)
downloadflac-arm-1.1.3-393793995e82668893cae62ba971bfbf55a5e7d8.tar.gz
libOggFLAC/ogg_helper.c: disable CRC checking by default
ogg_page_checksum_set is rather slow...
-rw-r--r--src/libOggFLAC/ogg_helper.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/libOggFLAC/ogg_helper.c b/src/libOggFLAC/ogg_helper.c
index bebd7f06..3441ee60 100644
--- a/src/libOggFLAC/ogg_helper.c
+++ b/src/libOggFLAC/ogg_helper.c
@@ -92,7 +92,6 @@ FLAC__bool simple_ogg_page__get_at(OggFLAC__SeekableStreamEncoder *encoder, FLAC
 {
         static const unsigned OGG_HEADER_FIXED_PORTION_LEN = 27;
         static const unsigned OGG_MAX_HEADER_LEN = 27/*OGG_HEADER_FIXED_PORTION_LEN*/ + 255;
-        FLAC__byte crc[4];
 
         FLAC__ASSERT(page->header == 0);
         FLAC__ASSERT(page->header_len == 0);
@@ -158,12 +157,17 @@ FLAC__bool simple_ogg_page__get_at(OggFLAC__SeekableStreamEncoder *encoder, FLAC
                 return false;
 
         /* check the CRC */
-        memcpy(crc, page->header+22, 4);
-        ogg_page_checksum_set(page);
-        if(memcmp(crc, page->header+22, 4)) {
-                encoder->protected_->state = OggFLAC__SEEKABLE_STREAM_ENCODER_OGG_ERROR;
-                return false;
+#ifdef OGGFLAC_CRC_CHECKING
+        {
+                FLAC__byte crc[4];
+                memcpy(crc, page->header+22, 4);
+                ogg_page_checksum_set(page);
+                if(memcmp(crc, page->header+22, 4)) {
+                        encoder->protected_->state = OggFLAC__SEEKABLE_STREAM_ENCODER_OGG_ERROR;
+                        return false;
+                }
         }
+#endif
 
         return true;
 }