当前位置: 代码迷 >> Android >> sniff的功用是什么
  详细解决方案

sniff的功用是什么

热度:18   发布时间:2016-05-01 17:35:45.0
sniff的作用是什么?
在stagefright中的DataSource.cpp文件中,有注册sniff的函数DataSource::RegisterSniffer和DataSource::sniff函数。
在音视频解析文件中有对应的SniffXXX函数,例如:
在MP3Extractor.cpp中有SniffMP3函数,
C/C++ code
bool SniffMP3(        const sp<DataSource> &source, String8 *mimeType,        float *confidence, sp<AMessage> *meta) {    off64_t pos = 0;    uint32_t header;    if (!Resync(source, 0, &pos, &header)) {        return false;    }    *meta = new AMessage;    (*meta)->setInt64("offset", pos);    (*meta)->setInt32("header", header);    *mimeType = MEDIA_MIMETYPE_AUDIO_MPEG;    *confidence = 0.2f;    return true;}


那么,sniff具体的作用是什么呢?
是为了确定mp3后缀名的文件是不是真正的mp3编码的文件吗?

另外,sniff在DataSource::RegisterDefaultSniffers()中被注册,那么什么时候会被调用呢?
Thx!

------解决方案--------------------
顶一下!