From 5a1c3529e4fa2f8a11054181294e0ce79fff8dd3 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Wed, 25 Aug 2010 11:09:41 -0700 Subject: Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now. Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a related-to-bug: 2948754 --- media/libstagefright/MediaExtractor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'media/libstagefright/MediaExtractor.cpp') diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp index 56e6136..9bc94de 100644 --- a/media/libstagefright/MediaExtractor.cpp +++ b/media/libstagefright/MediaExtractor.cpp @@ -27,6 +27,7 @@ #include "matroska/MatroskaExtractor.h" +#include #include #include #include @@ -46,10 +47,12 @@ uint32_t MediaExtractor::flags() const { // static sp MediaExtractor::Create( const sp &source, const char *mime) { + sp meta; + String8 tmp; if (mime == NULL) { float confidence; - if (!source->sniff(&tmp, &confidence)) { + if (!source->sniff(&tmp, &confidence, &meta)) { LOGV("FAILED to autodetect media content."); return NULL; @@ -64,7 +67,7 @@ sp MediaExtractor::Create( || !strcasecmp(mime, "audio/mp4")) { return new MPEG4Extractor(source); } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_MPEG)) { - return new MP3Extractor(source); + return new MP3Extractor(source, meta); } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_NB) || !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_WB)) { return new AMRExtractor(source); -- cgit v1.1