Currently, the SourceBufferPrivate and its SourceBufferParser lives in the GPU Process. This requires extensive back and forth operations between the content and GPU Process, including playing trick so that the MediaSamples that are processed in the GPU Process be owned by the content process. The reasons the SourceBufferPrivate was moved to the GPU Process were historical in that the encryption data if the content was encrypted had to live in the same it was created and played. There are new APIs that remove this restriction.
<rdar://problem/107253559>