Backport new functions from upstream.
Add some new files from upstream.
Provides a new GStreamer source element for MediaSource scenario and implement a MediaSourcePrivate and SourceBufferPrivate class.
Build the new files.
Prepare to use the new MediaSource related code.