Executando ExtractDecodeEditEncodeMuxTest fora do testcase no Android
Estou tentando adicionar funcionalidade para extrair, decodificar, editar, codificar e mux um vídeo no Android. Portanto, encontrei alguma implementação muito útil, que faz parte do Android CTSExtractDecodeEditEncodeMuxTest. Infelizmente, o código só funciona se for executado como parte do testcase. Tentei executá-lo a partir de uma atividade normal e obtive:
E / ExtractDecodeEditEncodeMuxTest (18781): java.lang.IllegalStateException: falha ao parar o muxer
W / System.err (18781): java.lang.RuntimeException: Tempo limite de espera do quadro de superfície esgotado W / System.err (18781): at ... OutputSurface.awaitNewImage (OutputSurface.java:216)
Alguma idéia, por que a superfície de saída não recebe os quadros?
ATUALIZAR: Aqui estão os arquivos de log para o caso de teste de trabalho e a implementação que não funciona. O código para ambos é exatamente o mesmo. A única diferença é que o que está funcionando é um AndroidTestCase e o outro está sendo executado no aplicativo em um IntentService.
Parece que a coisa toda para de extrair e decodificar após cerca de 6 quadros. Alguma ideia?