|
|
|
@ -20,6 +20,7 @@
|
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
|
|
|
|
|
#include <utils/Log.h>
|
|
|
|
|
#include <cutils/properties.h>
|
|
|
|
|
|
|
|
|
|
#include "include/FrameDecoder.h"
|
|
|
|
|
#include "include/StagefrightMetadataRetriever.h"
|
|
|
|
@ -204,11 +205,14 @@ sp<IMemory> StagefrightMetadataRetriever::getImageInternal(
|
|
|
|
|
trackMeta->setCString(kKeyMIMEType, mime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool preferhw = property_get_bool(
|
|
|
|
|
"media.stagefright.thumbnail.prefer_hw_codecs", false);
|
|
|
|
|
uint32_t flags = preferhw ? 0 : MediaCodecList::kPreferSoftwareCodecs;
|
|
|
|
|
Vector<AString> matchingCodecs;
|
|
|
|
|
MediaCodecList::findMatchingCodecs(
|
|
|
|
|
mime,
|
|
|
|
|
false, /* encoder */
|
|
|
|
|
MediaCodecList::kPreferSoftwareCodecs,
|
|
|
|
|
flags,
|
|
|
|
|
&matchingCodecs);
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < matchingCodecs.size(); ++i) {
|
|
|
|
@ -325,11 +329,14 @@ status_t StagefrightMetadataRetriever::getFrameInternal(
|
|
|
|
|
const char *mime;
|
|
|
|
|
CHECK(trackMeta->findCString(kKeyMIMEType, &mime));
|
|
|
|
|
|
|
|
|
|
bool preferhw = property_get_bool(
|
|
|
|
|
"media.stagefright.thumbnail.prefer_hw_codecs", false);
|
|
|
|
|
uint32_t flags = preferhw ? 0 : MediaCodecList::kPreferSoftwareCodecs;
|
|
|
|
|
Vector<AString> matchingCodecs;
|
|
|
|
|
MediaCodecList::findMatchingCodecs(
|
|
|
|
|
mime,
|
|
|
|
|
false, /* encoder */
|
|
|
|
|
MediaCodecList::kPreferSoftwareCodecs,
|
|
|
|
|
flags,
|
|
|
|
|
&matchingCodecs);
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < matchingCodecs.size(); ++i) {
|
|
|
|
|