MediaCodec Flush

1、如果set surface 为null,那么audio下发的是FLUSH_CMD_NONE,
video是FLUSH_CMD_SHUTDOWN ,
NuPlayer::performDecoderFlush只会执行flushDecoder(false /* audio */, (video == FLUSH_CMD_SHUTDOWN)),此时会flush;

2、如果surface不为空, 那么audio下发的是FLUSH_CMD_FLUSH ,
video是FLUSH_CMD_SHUTDOWN ,此时audio和video都会触发flush。

3、Nuplayer reset时,执行的是mDeferredActions.push_back(
                    new FlushDecoderAction(
                        FLUSH_CMD_SHUTDOWN /* audio */,
                        FLUSH_CMD_SHUTDOWN /* video */));
audio 和 video都会flush

猜你喜欢

转载自blog.csdn.net/mdx20072419/article/details/118525916