Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@sundermann
Copy link
Contributor

Description

Fix a couple of issues with Starfish sink

Fixes #23288

Motivation and context

As reported in #23288 E-AC3 was broken. It also fixes a couple of A/V sync problems that had to be tackled for proper E-AC3 support

How has this been tested?

OLED77C28LB / webOS 7/22

What is the effect on users?

Screenshots (if appropriate):

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • My code follows the Code Guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the Contributing document
  • I have added tests to cover my change
  • All new and existing tests passed

Since we set the queue and source buffer each to 8 * frameSize the cache was returning a too small duration
This was just really a magic number and it seems it's not needed anymore with the cache size fix
This is intended for game mode and seems to make things worse and disables some TV processing features
We should only increase the audio pts when the packet was fully consumed by the sink. With the first feed we don't increase pts because we want the pipeline to start at timestamp 0
We assume the channel count here because the information from AEStreamInfo is incorrect. This is probably correct for a lot of files and additionally it seems that the pipeline is fine with a wrong channel count (this might only be true for certain devices, because there is probably a reason for why the pipeline wants this information) We are also missing out on the EAC3-JOC information for the pipeline.
The field m_ac3FrameSize was never updated with the concatenated value of the independent and dependent substream
@sundermann sundermann changed the title Feature/web os audio sink [webOS] Audio sink improvements May 17, 2023
@wsnipex wsnipex added Type: Fix non-breaking change which fixes an issue Type: Improvement non-breaking change which improves existing functionality Component: Audio v21 Omega Platform: webOS labels May 18, 2023
@wsnipex wsnipex added this to the Omega 21.0 Alpha 2 milestone May 18, 2023
@cscd98
Copy link
Contributor

cscd98 commented May 18, 2023

Can confirm EAC-3 is working and A/V sync appears improved following this PR.

@cscd98
Copy link
Contributor

cscd98 commented May 23, 2023

@fritsch @enen92 Can this PR be reviewed? Thanks

@wsnipex wsnipex requested a review from fritsch May 25, 2023 08:43
Copy link
Member

@fritsch fritsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks much. The delay calculation of the sink itself still looks like a bit of guess work ;-). But yeah, most likely not possible to get that 100% right.

Thanks for the AEStreamInfo change, makes sense.

@sundermann sundermann merged commit 9c07f61 into xbmc:master May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Audio Platform: webOS Type: Fix non-breaking change which fixes an issue Type: Improvement non-breaking change which improves existing functionality v21 Omega

Projects

None yet

Development

Successfully merging this pull request may close these issues.

webos: EAC-3 Dolby Digital Plus passthrough is broken, PCM received instead

4 participants