NOTE: This page is a recollection of what I've written previously. I do not guarantee it's accuracy.
Video/audio playback in WebKit is made from multiple components:
MediaPlayer, and a
HTMLMediaElement(also a superclass of
HTMLAudioElement) coordinates between a the DOM of which it’s a part, a
MediaPlayer, tracks, security checks, a
MediaResourceLoader, and the UI controls.
RenderVideocomposites videos into a page’s layout.
MediaPlayerwraps the underlying platform’s media decoding library, which for the GNOME stack is GStreamer. GStreamer in turn forms a pipeline between all the necessary codecs.
MediaResourceLoaderis a little modified resource request not unlike images, etc.