Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to query codec OMX.qcom.audio.decoder.mp3 (audio/mpeg) #1714

Closed
watemotion opened this issue Aug 3, 2016 · 3 comments
Closed

Failed to query codec OMX.qcom.audio.decoder.mp3 (audio/mpeg) #1714

watemotion opened this issue Aug 3, 2016 · 3 comments
Assignees

Comments

@watemotion
Copy link

I'm working with ExoPlayer and it works fine with all devices i have tested, except for a LG-E975.
On a LG-E975 I'm getting the following exception when i do play a streaming url, and I can't play the stream:

Device: LG-E975
Android version: 4.1.2
ExoPlayer version: 1.5.9
okHttp version: 3.4.1

E/dalvikvm: Could not find class 'android.media.PlaybackParams', referenced from method com.google.android.exoplayer.MediaCodecAudioTrackRenderer.handleMessage

E/MediaCodecUtil: Failed to query codec OMX.qcom.audio.decoder.mp3 (audio/mpeg)
E/ExoPlayerImplInternal: Internal track renderer error.
 com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException: Failed to query underlying media codecs
     at com.google.android.exoplayer.SampleSourceTrackRenderer.doPrepare(SampleSourceTrackRenderer.java:78)
     at com.google.android.exoplayer.TrackRenderer.prepare(TrackRenderer.java:110)
     at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273)
     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205)
     at android.os.Handler.dispatchMessage(Handler.java:95)
     at android.os.Looper.loop(Looper.java:137)
     at android.os.HandlerThread.run(HandlerThread.java:60)
     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
  Caused by: com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException: Failed to query underlying media codecs
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfosInternal(MediaCodecUtil.java:189)
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfos(MediaCodecUtil.java:129)
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfo(MediaCodecUtil.java:106)
     at com.google.android.exoplayer.MediaCodecSelector$1.getDecoderInfo(MediaCodecSelector.java:35)
     at com.google.android.exoplayer.MediaCodecAudioTrackRenderer.handlesTrack(MediaCodecAudioTrackRenderer.java:216)
     at com.google.android.exoplayer.MediaCodecTrackRenderer.handlesTrack(MediaCodecTrackRenderer.java:293)
     at com.google.android.exoplayer.SampleSourceTrackRenderer.doPrepare(SampleSourceTrackRenderer.java:76)
     at com.google.android.exoplayer.TrackRenderer.prepare(TrackRenderer.java:110) 
     at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273) 
     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.os.HandlerThread.run(HandlerThread.java:60) 
     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) 
  Caused by: java.lang.IllegalArgumentException
     at android.media.MediaCodecList.getCodecCapabilities(Native Method)
     at android.media.MediaCodecInfo.getCapabilitiesForType(MediaCodecInfo.java:211)
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfosInternal(MediaCodecUtil.java:160)
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfos(MediaCodecUtil.java:129) 
     at com.google.android.exoplayer.MediaCodecUtil.getDecoderInfo(MediaCodecUtil.java:106) 
     at com.google.android.exoplayer.MediaCodecSelector$1.getDecoderInfo(MediaCodecSelector.java:35) 
     at com.google.android.exoplayer.MediaCodecAudioTrackRenderer.handlesTrack(MediaCodecAudioTrackRenderer.java:216) 
     at com.google.android.exoplayer.MediaCodecTrackRenderer.handlesTrack(MediaCodecTrackRenderer.java:293) 
     at com.google.android.exoplayer.SampleSourceTrackRenderer.doPrepare(SampleSourceTrackRenderer.java:76) 
     at com.google.android.exoplayer.TrackRenderer.prepare(TrackRenderer.java:110) 
     at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:273) 
     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.os.HandlerThread.run(HandlerThread.java:60) 
     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)

Here is how i do play an url:

Allocator allocator = new DefaultAllocator(NavigationDrawer.BUFFER_SEGMENT_SIZE);
String userAgent = Util.getUserAgent(NavigationDrawer.context, "ExoPlayer");
DataSource dataSource = new DefaultUriDataSource(context, null, new OkHttpDataSource(okHttpClient, userAgent, null));
ExtractorSampleSource sampleSource = new ExtractorSampleSource(radioUri, dataSource, allocator, BUFFER_SEGMENT_SIZE * BUFFER_SEGMENT_COUNT);
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource, MediaCodecSelector.DEFAULT, null, true, null, null, null, AudioManager.STREAM_MUSIC);
myExoPlayer.prepare(audioRenderer);
myExoPlayer.setPlayWhenReady(true);
@andrewlewis andrewlewis self-assigned this Aug 4, 2016
@andrewlewis
Copy link
Collaborator

@watemotion Thanks for reporting this. I don't have a test device on Jelly Bean, so please could you try out the following workaround? Add || Util.DEVICE.startsWith("gee") to the condition here and let me know if that solves the issue, or if you see some other error. Thanks!

@watemotion
Copy link
Author

@andrewlewis Your workaround solved the problem, now I can listen the stream. Thank you for replying so quickly.

@andrewlewis
Copy link
Collaborator

Great. This issue should be updated when we push the fix.

ojw28 pushed a commit that referenced this issue Aug 8, 2016
Issue: #1714

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129600348
ojw28 pushed a commit that referenced this issue Aug 8, 2016
Issue: #1714

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=129600348
@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants