[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6043 - Extractor/src/plugins
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6043 - Extractor/src/plugins |
Date: |
Wed, 26 Dec 2007 21:26:08 -0700 (MST) |
Author: grothoff
Date: 2007-12-26 21:26:07 -0700 (Wed, 26 Dec 2007)
New Revision: 6043
Modified:
Extractor/src/plugins/flacextractor.c
Extractor/src/plugins/mimeextractor.c
Log:
fixes
Modified: Extractor/src/plugins/flacextractor.c
===================================================================
--- Extractor/src/plugins/flacextractor.c 2007-12-27 02:53:03 UTC (rev
6042)
+++ Extractor/src/plugins/flacextractor.c 2007-12-27 04:26:07 UTC (rev
6043)
@@ -68,7 +68,7 @@
memcpy(buffer,
&ctx->data[ctx->pos],
*bytes);
- ctx->pos += *bytes;
+ ctx->pos += *bytes;
return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE;
}
@@ -113,7 +113,7 @@
static FLAC__StreamDecoderWriteStatus
flac_write(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const
FLAC__int32 *const buffer[], void *client_data)
{
- return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
+ return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
typedef struct
@@ -173,6 +173,8 @@
{
struct Context * ctx = client_data;
+ fprintf(stderr,
+ "Meta!\n");
switch (metadata->type)
{
case FLAC__METADATA_TYPE_STREAMINFO:
@@ -249,9 +251,11 @@
static void
flac_error(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus
status, void *client_data)
{
+ fprintf(stderr,
+ "Got error: %u\n", status);
}
-/* mimetype = application/flac */
+/* mimetype = audio/flac */
struct EXTRACTOR_Keywords *
libextractor_flac_extract (const char *filename,
const char *data,
@@ -269,38 +273,58 @@
decoder = FLAC__stream_decoder_new();
if (NULL == decoder)
return prev;
- FLAC__stream_decoder_set_metadata_respond_all(decoder);
+ FLAC__stream_decoder_set_md5_checking(decoder, false);
+ FLAC__stream_decoder_set_metadata_ignore_all(decoder);
+ if (false == FLAC__stream_decoder_set_metadata_respond_all(decoder))
+ {
+ FLAC__stream_decoder_delete(decoder);
+ return le_cls.prev;
+ }
le_cls.prev = prev;
+ le_cls.prev = prev;
le_cls.size = size;
le_cls.data = data;
le_cls.pos = 0;
- FLAC__stream_decoder_init_ogg_stream(decoder,
- &flac_read,
- &flac_seek,
- &flac_tell,
- &flac_length,
- &flac_eof,
- &flac_write,
- &flac_metadata,
- &flac_error,
- &le_cls);
- FLAC__stream_decoder_process_until_end_of_metadata(decoder);
- switch (FLAC__stream_decoder_get_state(decoder))
+ if (FLAC__STREAM_DECODER_INIT_STATUS_OK !=
+ FLAC__stream_decoder_init_ogg_stream(decoder,
+ &flac_read,
+ &flac_seek,
+ &flac_tell,
+ &flac_length,
+ &flac_eof,
+ &flac_write,
+ &flac_metadata,
+ &flac_error,
+ &le_cls))
{
- case FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC:
- case FLAC__STREAM_DECODER_SEARCH_FOR_METADATA:
- case FLAC__STREAM_DECODER_READ_METADATA:
- case FLAC__STREAM_DECODER_END_OF_STREAM:
- case FLAC__STREAM_DECODER_READ_FRAME:
- le_cls.prev = addKeyword(EXTRACTOR_MIMETYPE,
- strdup("audio/flac"),
- le_cls.prev);
- break;
- default:
- /* not so sure... */
- break;
+ FLAC__stream_decoder_delete(decoder);
+ return le_cls.prev;
}
-
+ if (FLAC__stream_decoder_get_state(decoder) !=
FLAC__STREAM_DECODER_SEARCH_FOR_METADATA)
+ {
+ FLAC__stream_decoder_delete(decoder);
+ return le_cls.prev;
+ }
+ if (! FLAC__stream_decoder_process_until_end_of_metadata(decoder))
+ {
+ FLAC__stream_decoder_delete(decoder);
+ return le_cls.prev;
+ }
+ switch (FLAC__stream_decoder_get_state(decoder))
+ {
+ case FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC:
+ case FLAC__STREAM_DECODER_READ_METADATA:
+ case FLAC__STREAM_DECODER_END_OF_STREAM:
+ case FLAC__STREAM_DECODER_READ_FRAME:
+ le_cls.prev = addKeyword(EXTRACTOR_MIMETYPE,
+ strdup("audio/flac"),
+ le_cls.prev);
+ break;
+ default:
+ /* not so sure... */
+ break;
+ }
+ FLAC__stream_decoder_finish (decoder);
FLAC__stream_decoder_delete(decoder);
return le_cls.prev;
}
Modified: Extractor/src/plugins/mimeextractor.c
===================================================================
--- Extractor/src/plugins/mimeextractor.c 2007-12-27 02:53:03 UTC (rev
6042)
+++ Extractor/src/plugins/mimeextractor.c 2007-12-27 04:26:07 UTC (rev
6043)
@@ -213,6 +213,7 @@
{"P6", 2, "image/x-portable-pixmap", DEFAULT},
{"P7", 2, "image/x-portable-anymap", DEFAULT},
{"BM", 2, "image/x-bmp", DEFAULT},
+ {"fLaC", 4, "audio/flac", DEFAULT},
{"\x89PNG", 4, "image/x-png", DEFAULT},
{"id=ImageMagick", 14, "application/x-imagemagick-image", DEFAULT},
{"hsi1", 4, "image/x-jpeg-proprietary", DEFAULT},
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6043 - Extractor/src/plugins,
gnunet <=