ryanheise / just_audio

Audio Player
1.03k stars 652 forks source link

Error setAudioSource MyCustomSource #1206

Closed datpt11 closed 6 months ago

datpt11 commented 6 months ago

Which API doesn't behave as documented, and how does it misbehave?

  final List<int> bytes;
  MyCustomSource(this.bytes);

  @override
  Future<StreamAudioResponse> request([int? start, int? end]) async {
    start ??= 0;
    end ??= bytes.length;
    return StreamAudioResponse(
      sourceLength: bytes.length,
      contentLength: end - start,
      offset: start,
      stream: Stream.value(bytes.sublist(start, end)),
      contentType: 'audio/mpeg',
    );
  }
}

To Reproduce (i.e. user steps, not code) Steps to reproduce the behavior: setAudioSource always fails

Expected behavior A clear and concise description of what you expected to happen.

Error messages

E/android.media.AudioTrack(11734): Error code -20 when initializing AudioTrack.
E/MediaCodecAudioRenderer(11734): Audio sink error
E/MediaCodecAudioRenderer(11734):   com.google.android.exoplayer2.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(8000, 4, 4000) Format(null, null, null, audio/raw, null, -1, null, [-1, -1, -1.0], [1, 8000])
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.buildAudioTrack(DefaultAudioSink.java:2136)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1073)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.buildAudioTrackWithRetry(DefaultAudioSink.java:1051)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:843)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:929)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:709)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1889)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:782)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
E/MediaCodecAudioRenderer(11734):       at android.os.Handler.dispatchMessage(Handler.java:102)
E/MediaCodecAudioRenderer(11734):       at android.os.Looper.loopOnce(Looper.java:257)
E/MediaCodecAudioRenderer(11734):       at android.os.Looper.loop(Looper.java:368)
E/MediaCodecAudioRenderer(11734):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/MediaCodecAudioRenderer(11734):   Caused by: java.lang.UnsupportedOperationException: Cannot create AudioTrack
E/MediaCodecAudioRenderer(11734):       at android.media.AudioTrack$Builder.build(AudioTrack.java:1455)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrackV29(DefaultAudioSink.java:2185)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrack(DefaultAudioSink.java:2163)
E/MediaCodecAudioRenderer(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.buildAudioTrack(DefaultAudioSink.java:2128)
E/MediaCodecAudioRenderer(11734):       ... 13 more
E/ExoPlayerImplInternal(11734): Playback error
E/ExoPlayerImplInternal(11734):   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(null, null, null, audio/mpeg, null, -1, null, [-1, -1, -1.0], [1, 8000]), format_supported=YES
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:578)
E/ExoPlayerImplInternal(11734):       at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal(11734):       at android.os.Looper.loopOnce(Looper.java:257)
E/ExoPlayerImplInternal(11734):       at android.os.Looper.loop(Looper.java:368)
E/ExoPlayerImplInternal(11734):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(11734):   Caused by: com.google.android.exoplayer2.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(8000, 4, 4000) Format(null, null, null, audio/raw, null, -1, null, [-1, -1, -1.0], [1, 8000])
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.buildAudioTrack(DefaultAudioSink.java:2136)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.buildAudioTrack(DefaultAudioSink.java:1073)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.buildAudioTrackWithRetry(DefaultAudioSink.java:1051)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:843)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:929)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:709)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1889)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:782)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
E/ExoPlayerImplInternal(11734):       ... 4 more
E/ExoPlayerImplInternal(11734):       Suppressed: com.google.android.exoplayer2.audio.AudioSink$InitializationException: AudioTrack init failed 0 Config(8000, 4, 4000) Format(null, null, null, audio/raw, null, -1, null, [-1, -1, -1.0], [1, 8000])
E/ExoPlayerImplInternal(11734):           ... 14 more
E/ExoPlayerImplInternal(11734):       Caused by: java.lang.UnsupportedOperationException: Cannot create AudioTrack
E/ExoPlayerImplInternal(11734):           at android.media.AudioTrack$Builder.build(AudioTrack.java:1455)
E/ExoPlayerImplInternal(11734):           at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrackV29(DefaultAudioSink.java:2185)
E/ExoPlayerImplInternal(11734):           at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrack(DefaultAudioSink.java:2163)
E/ExoPlayerImplInternal(11734):           at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.buildAudioTrack(DefaultAudioSink.java:2128)
E/ExoPlayerImplInternal(11734):           ... 13 more
E/ExoPlayerImplInternal(11734):   Caused by: java.lang.UnsupportedOperationException: Cannot create AudioTrack
E/ExoPlayerImplInternal(11734):       at android.media.AudioTrack$Builder.build(AudioTrack.java:1455)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrackV29(DefaultAudioSink.java:2185)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.createAudioTrack(DefaultAudioSink.java:2163)
E/ExoPlayerImplInternal(11734):       at com.google.android.exoplayer2.audio.DefaultAudioSink$Configuration.buildAudioTrack(DefaultAudioSink.java:2128)
E/ExoPlayerImplInternal(11734):       ... 13 more

Smartphone (please complete the following information):

Flutter SDK version

[✓] Flutter (Channel stable, 3.19.1, on macOS 14.3 23D56 darwin-arm64, locale en-US)
    • Flutter version 3.19.1 on channel stable at /Users/datphung/workspace/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision abb292a07e (3 weeks ago), 2024-02-20 14:35:05 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/datphung/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/datphung/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.13.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.87.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.84.0

[✓] Connected device (6 available)
    • CPH2437 (mobile)            • AYGQCURSSG65JNDQ                     • android-arm64  • Android 14 (API 34)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 12 (API 31) (emulator)
    • DinoP (mobile)              • 00008110-001A492836EB801E            • ios            • iOS 17.3.1 21D61
    • iPhone 15 Pro Max (mobile)  • DA25480F-5492-49CB-9659-894015B5076A • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-0 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 14.3 23D56 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 122.0.6261.129

[✓] Network resources
    • All expected network resources are available.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

datpt11 commented 6 months ago

only on android

ryanheise commented 6 months ago

You didn't follow the instructions for submitting a bug report.

github-actions[bot] commented 5 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs, or use StackOverflow if you need help with just_audio.