shaka-project / shaka-packager

A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
https://shaka-project.github.io/shaka-packager/
Other
2k stars 510 forks source link

chore: Refactor public headers and macros #1275

Closed joeyparrish closed 1 year ago

joeyparrish commented 1 year ago

This organizes all public headers for the library into packager/public/ and makes sure then don't rely on any headers from other folders.

To accomplish this, this change also refactors macros.h, media/base/macros.h, and status/status_macros.h into macros/classes.h, macros/compiler.h, macros/crypto.h, macros/logging.h, macros/status.h, and public/export.h. Now the export macros from macros.h live in public/ to keep public/ from requiring anything else.

This refactor enables an install target that includes public headers only.

joeyparrish commented 1 year ago

Includes #1274, so I'll rebase this after that lands.

joeyparrish commented 1 year ago

Rebased and ready for review. There are a ton of changes to #includes all over the codebase, so it will probably be easier just to examine macros/ and public/ to get a good sense of the refactor.