Android多媒体开发【5】-- Stagefright原来是个皮包公司

来源:互联网 发布:依存度算法 编辑:程序博客网 时间:2024/06/01 10:47

通过上文我们已经进入到了StagefrightPlayer中,当满心激动的查看代码时发现 Stagefright其实就是个皮包公司

status_t StagefrightPlayer::setDataSource(        const char *url, const KeyedVector<String8, String8> *headers) {    return mPlayer->setDataSource(url, headers);}status_t StagefrightPlayer::prepare() {    return mPlayer->prepare();}status_t StagefrightPlayer::start() {    ALOGV("start");    return mPlayer->play();}status_t StagefrightPlayer::stop() {    ALOGV("stop");    return pause();  // what's the difference?}status_t StagefrightPlayer::pause() {    ALOGV("pause");    return mPlayer->pause();}

功能几乎都是通过调用 

AwesomePlayer *mPlayer;
成员变量来实现的,看来真正实现播放器功能的原来是 AwesomePlayer。Stagefright只是做了一层浅浅的封装,革命尚未成功,继续跟进吧。

AwesomePlayer 看看这个棒极了的(Awesome)播放器到底有多牛逼。