From 465da60d885c8fa4e7cea4626478574ce17a54a9 Mon Sep 17 00:00:00 2001 From: Johann Date: Thu, 26 Sep 2013 17:37:51 -0700 Subject: Indicate sync frames returned by encoder Set the appropriate OMX flag when the encoder generates a keyframe. This is necessary for any muxer which needs to indicate which frames are seekable. Bug: 8422347 Change-Id: I744a0b3023db24d3de2210bce82f41e50d259505 --- media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'media/libstagefright/codecs') diff --git a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp index 5f2b5c8..16f0f30 100644 --- a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp +++ b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp @@ -803,6 +803,8 @@ void SoftVPXEncoder::onQueueFilled(OMX_U32 portIndex) { if (encoded_packet->kind == VPX_CODEC_CX_FRAME_PKT) { outputBufferHeader->nTimeStamp = encoded_packet->data.frame.pts; outputBufferHeader->nFlags = 0; + if (encoded_packet->data.frame.flags & VPX_FRAME_IS_KEY) + outputBufferHeader->nFlags |= OMX_BUFFERFLAG_SYNCFRAME; outputBufferHeader->nOffset = 0; outputBufferHeader->nFilledLen = encoded_packet->data.frame.sz; memcpy(outputBufferHeader->pBuffer, -- cgit v1.1