'Video codec error com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: Android studio
I am working on video player with ExoPlayer library and my working fine but in some device I am getting Video codec error, even I have try to use software decoder, but still getting same problem in some device. Any can help me to resolve this issue?
here is my code
private void playVideo() {
String path = mVideoFile.get(position).getPath();
Uri uri = Uri.parse(path);
DefaultRenderersFactory rf = new DefaultRenderersFactory(this.getApplicationContext())
.setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON).setMediaCodecSelector(
new MediaCodecSelector() {
@Override
public List<MediaCodecInfo> getDecoderInfos(String mimeType,
boolean requiresSecureDecoder, boolean requiresTunnelingDecoder)
throws MediaCodecUtil.DecoderQueryException {
List<MediaCodecInfo> decoderInfos = MediaCodecSelector.DEFAULT
.getDecoderInfos(mimeType, requiresSecureDecoder, requiresTunnelingDecoder);
if (MimeTypes.VIDEO_H264.equals(mimeType)) {
// copy the list because MediaCodecSelector.DEFAULT returns an unmodifiable list
decoderInfos = new ArrayList<>(decoderInfos);
Collections.reverse(decoderInfos);
}
return decoderInfos;
}
});
player = new SimpleExoPlayer.Builder(this, rf).build();
DefaultDataSourceFactory defaultDataSourceFactory = new DefaultDataSourceFactory(
this, Util.getUserAgent(this, "App")
);
concatenatingMediaSource = new ConcatenatingMediaSource();
for (int i = 0; i<mVideoFile.size(); i++){
new File(String.valueOf(mVideoFile.get(i)));
MediaSource mediaSource = new ProgressiveMediaSource.Factory(defaultDataSourceFactory)
.createMediaSource(MediaItem.fromUri(Uri.parse(String.valueOf(uri))));
concatenatingMediaSource.addMediaSource(mediaSource);
playerView.setPlayer(player);
playerView.setKeepScreenOn(true);
player.prepare(concatenatingMediaSource);
// player.seekTo(position, C.TIME_UNSET);
playError();
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
