Uso do Android MediaCodec para decodificar o fluxo de vídeo MPEG2
Estou tentando usarMediaCodec
API para decodificar e exibir umMPEG2
fluxo codificado. eu usoMediaExtractor
extrair o fluxo de um fluxo de transporte MPEG (TS
)
eu reparei nissoconfigure()
do decodificador está falhando em todos os dispositivos que eu tentei - Nexus7 (2012), Nexus7 (2013), Nexus10, com o código de erro 0x80001001.
O único parâmetro que pode dar errado ao usar oconfigure()
API é oMediaFormat
configuração fornecida e isso é obtido no AndroidMediaExtractor
. Eu não entendo o que poderia estar errado, resultando na ocorrência desse problema.
Os parâmetros de configuração presentes noMediaFormat
objeto são:
1. `CSD-0` - Containing Sequence header and sequence extension header.
Seq_Hdr - 00 00 01 B3 2D 01 E0 24 09 C4 23 80
Seq_extnsn - 00 00 01 B5 14 8A 00 01 00 80
2. Height - 480
3. Width - 720
4. KEY_MIME - `video/mpeg2`
O erro é um pouco semelhante em todos os dispositivos, o que pode significar que o erro talvez seja originário de uma entidade comum noMediaCodec
pilha. Aqui está o erro do Nexus7 (2013). (0x80001001 - OMX_ErrorUndefined)
E/ACodec ( 6504): [OMX.qcom.video.decoder.mpeg2] configureCodec returning error -1010
E/MediaCodec( 6504): Codec reported an error. (omx error 0x80001001, internalError -1010)
Esse comportamento é porqueMPEG2
não é um codec obrigatório para suporte em plataformas Android ou estou fazendo algo errado? Qualquer informação sobre o comportamento deMPEG2
decodificador será muito apreciado.