tree c704d26bd87954e993f38f60a3e9d89c2bce3002
parent 1c3ecee77350f595617a901b848aa1e2ec333cd9
author K Lubick <kjlubick@users.noreply.github.com> 1707757172 -0500
committer GitHub <noreply@github.com> 1707757172 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJlyk50CRC1aQ7uu5UhlAAAYZUQAH5Yc6u3Y4Qt1Nh4KSnkXy7o
 RQWlzQLCkvvMmFOFuCydjUIzljdPsoEgvqNUrRFwLlduKgQMtSbgoxS95HcVrwkG
 QLkHL1PoaryNdhra7izmg2kX3H/msORB6guAZK91UZmdeJf6sRumgCCyrVSp4eC/
 k82kLw1uxrkPOiWqWHngLwOKDT/R8Yd91tiLoqMkjaPlhkqr0hAEU17B5eK7e1CF
 HD71H7kSdQ10XDqqSsYydIHA6sNjgKg5Qxp6c5Ngj7F31MH8dF1fo3Y7Sj++mjWa
 jH3zEu81mkQInveQ25EP2aEQKm8Cg/O6+pYQctaNcLuAQErGYNUgM3gEep4znIP1
 XNkkLIrIuV+Wm6eNeghuea6hS5VVvilDbeJwgNQk78qabbVq9wCoJd0UGHUO5R9X
 NOt3Tq0jRRVb+zi3egWv3iGnpMjlub03KgkY5u40ACVyzlcnqv8JtEIa0Grw+Lp/
 lkoyq/FpHAtj/myjgAEP6zcCCBu7grkZq4SXMcMY6N14FO/gt4hySqH91VEnIpbj
 JhWSSpBFIJV04B1yQtjFGs0ypBE6lBxUS0zkrRmfurE6vQm8/TJB6LG/Xj9uWFDR
 mfnDPXCIb9qP/VY7pqNUiFJ/1Uvjnadm7K4sPSRhTeXPppJadcAvak3tikiauc5K
 ZhCIeWdiXO+/NkqUWXhC
 =/yxJ
 -----END PGP SIGNATURE-----
 

Update codec defines for Skia (#50554)

Skia is coalescing some defines related to codecs in
https://skia-review.googlesource.com/c/skia/+/811816

This will let that change land (hopefully).

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [X] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I signed the [CLA].
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat