# Class: VirtualSourceBuffer

## VirtualSourceBuffer(mediaSource, codecs)

#### new VirtualSourceBuffer(mediaSource, codecs)

VirtualSourceBuffers exist so that we can transmux non native formats into a native format, but keep the same api as a native source buffer. It creates a transmuxer, that works in its own thread (a web worker) and that transmuxer muxes the data into a native format. VirtualSourceBuffer will then send all of that data to the naive sourcebuffer so that it is indestinguishable from a natively supported format.

##### Parameters:

Name | Type | Description
--- | --- | ---
`mediaSource` | HtmlMediaSource | the parent mediaSource
`codecs` | Array | array of codecs that we will be dealing with

Source:
  - virtual-source-buffer.js, line 155

### Extends

- video.js.EventTarget