Skip to content

FfmpegAudioRenderer doesn't skip incorrect frames but fails #5293

@tipoc123

Description

@tipoc123

Issue description

I use ffmpeg extension. Player hangs up (at missed frames) if we use FfmpegAudioRenderer. But player behaves correctly (shows only artifacts and continues to play further) if we use MediaCodecAudioRenderer.

I recorded videos:
FfmpegAudioRenderer - https://yadi.sk/i/MiRAgs7ovRQ74g
MediaCodecAudioRenderer - https://yadi.sk/i/JBo-YWlR8LdLzA

Logcat shows:

12-21 19:44:14.257 E/ffmpeg_jni( 3400): Error in avcodec_send_packet: Invalid data found when processing input
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): Playback error.
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.ext.ffmpeg.FfmpegDecoderException: Error decoding (see logcat). Code: -1094995529
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.audio.SimpleDecoderAudioRenderer.render(SimpleDecoderAudioRenderer.java:303)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at android.os.Handler.dispatchMessage(Handler.java:98)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at android.os.Looper.loop(Looper.java:154)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at android.os.HandlerThread.run(HandlerThread.java:61)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): Caused by: com.google.android.exoplayer2.ext.ffmpeg.FfmpegDecoderException: Error decoding (see logcat). Code: -1094995529
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.ext.ffmpeg.FfmpegDecoder.decode(FfmpegDecoder.java:110)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.ext.ffmpeg.FfmpegDecoder.decode(FfmpegDecoder.java:33)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.decoder.SimpleDecoder.decode(SimpleDecoder.java:224)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.decoder.SimpleDecoder.run(SimpleDecoder.java:189)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.decoder.SimpleDecoder.access$000(SimpleDecoder.java:25)
12-21 19:44:14.267 E/ExoPlayerImplInternal( 3400): 	at com.google.android.exoplayer2.decoder.SimpleDecoder$1.run(SimpleDecoder.java:67)

Link to test content

http://stand.netup.tv/downloads/T2965/manifest.m3u8

Version of ExoPlayer being used

2.9.1

Device(s) and version(s) of Android being used

STB MiniA5X_Plus (chipset RK 3328)
Android 7.1.1

A full bug report captured from the device

bugreport.txt.zip

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions