-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
feat: export period combiner #5324
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
5d2b59c
to
63533da
Compare
Incremental code coverage: 100.00% |
@baconz, long time, no see! Thanks for the PR. Looks good to me. |
JFYI, it has been proposed to trash this class in v5 and go back to modeling periods explicitly in the manifest structure. We haven't committed to it, but it is a breaking change we're considering in the next ~12 months. |
Thanks for getting this out so quickly! Interesting about going back to the old manifest format. What is the reasoning for switching back? |
Primarily that period combiner is complicated and uses more memory than other approaches might. |
When we exported `PeriodCombiner` in #5324 we added an `@export` to `PeriodCombiner.Period`, and since then we've been testing in our dogfood builds using shaka-player.compiled.debug, because we like to get logs from dogfood. Everything was working great. When we went to switch over to the production build, we realized that `@export` on a `typedef` doesn't really work because the type gets minified internally!! This moves `Period` over to `extern` so that it does not get minified and can be used externally.
See #5307