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

FfmpegAudioRenderer fails to correctly handle channel layout changes in MPEG-TS streams #2552

Closed
kiall opened this issue Mar 12, 2017 · 8 comments
Assignees
Labels

Comments

@kiall
Copy link
Contributor

kiall commented Mar 12, 2017

Possibly related to / a regression of #2111

Issue description

When FfmpegAudioRenderer is used for decoding an AC3 audio track, and that track's channel layout changes abruptly (as is common on MPEG-TS streams during commercial breaks etc), audio and video begins to stutter.

It's possible this isn't AC3 specific, but I don't have any other samples available to verify.

Reproduction steps

  • Add provided sample into the demo player media.exolist.json, example:

      {
        "name": "AC3 Audio Layout Change (TS)",
        "uri": "http://10.5.1.21/ac3-channel-layout-change.ts"
      },
    
  • Build the demo app, with the ffmpeg extension enabled.

  • Play the sample, wait for approx 1:01 and observe stuttering.

Link to test content

https://www.dropbox.com/s/0uvzypw9ckusnqr/ac3-channel-layout-change.ts?dl=0

Version of ExoPlayer being used

  • ExoPlayer r2.2.0
  • FFmpeg git sha 6c7a0876fefdd3c919afcabf493492cb4946ca6a

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

Reproduces on:

  • Android TV Emulator - v7.1.1
  • nVidia Shield - Android 7.0, Shield SW 5.1 (24.28.403.124)

A full bug report captured from the device

https://www.dropbox.com/s/py4bpiqds4pbb3g/bugreport-NYC-2017-03-12-22-55-21.zip?dl=0

@kiall kiall changed the title FfmpegAudioRenderer FfmpegAudioRenderer fails to correctly handle channel layout changes in MPEG-TS streams Mar 12, 2017
@kiall
Copy link
Contributor Author

kiall commented Mar 12, 2017

It's also worth noting that if the audio is allowed to passthrough to the TV attached to the shield for decoding (and downmixing to 2 channel), the sample plays back fine.

@ojw28 ojw28 assigned vigneshvg and andrewlewis and unassigned vigneshvg and andrewlewis Mar 13, 2017
@kiall
Copy link
Contributor Author

kiall commented Mar 15, 2017

FYI - I'll be travelling, and away from any Android TV dev stuff starting Friday for 2 weeks - any responses needed will be slow, apologies.

Let me know if you need anything and I'll do my best!

@kiall
Copy link
Contributor Author

kiall commented Apr 5, 2017

Hey guys, anything you need from me to confirm this issue etc? Thanks!

@AquilesCanta AquilesCanta self-assigned this Apr 5, 2017
@AquilesCanta
Copy link
Contributor

Sorry for the delay on this. I think I know what the issue might be. I'll run some tests and update this issue.

@kiall
Copy link
Contributor Author

kiall commented Apr 5, 2017

Awesome, thanks @AquilesCanta :)

@AquilesCanta
Copy link
Contributor

A fix will be available in the next push.

ojw28 pushed a commit that referenced this issue Apr 11, 2017
This allows propagating format changes to the track output.

Issue:#2552

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=152672983
@ojw28
Copy link
Contributor

ojw28 commented Apr 11, 2017

Fixed in dev-v2. Please give it a try!

@ojw28 ojw28 closed this as completed Apr 11, 2017
@kiall
Copy link
Contributor Author

kiall commented Apr 30, 2017

And, validated it works nicely! Thanks :)

@google google locked and limited conversation to collaborators Aug 10, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants