I've just released a module to GitHub. The goal of this module is to make it easy on the developers to add media to their objects and to make it easy on site administrators by providing a consistent "media" tab in the CMS to upload new, or choose existing media.
This is a re-usable component that solves the problem of managing a common library of extensible media types and decorating your Pages and DataObjects with them. Example media types are; a Photo with a Caption and Title, a Video with Poster Image, Thumbnail Image, and Caption, a Audio File with a Related Artist, etc. etc.
The module also aims to be "natural" to SilverStripe developers and designers... laying an intuitive blueprint for new media types (I'll release a YouTube example soon) and media gallery templates.
I worked this up late last night... so it's in a pre-release state, but have already adopted it on a larger site we're working on && am happy with it and would love to hear any feedback!
SiteMedia Page & Source: https://github.com/briceburg/silverstripe-sitemedia