I know this adds complexity, but one way to handle this is simply transparency, and another way is to add choice: on the donation web page, give donors a choice if they want their money to possibly be used to fund other, related projects, that might be short on funding, and then list those projects. Funding ffmpeg, for instance, seems fair since it's a dependency. They could also just make a selection matrix on the donation page, allowing people to select allowed recipients, so for instance they could allow the Android client, and disallow the Windows client.
The Mozilla case shows why it's bad to not have transparency.
I think many have donated to Mozilla thinking they were donating to Firefox only to later realize donations never reach Firefox.