It's currently a pointer that is checked almost everywhere before being used, and assumed to be non-null in a few places too. The client is set on constructor by HTMLMediaElement and cleared on HTMLMediaElement destructor that also frees the media player object. So, the client will never be null while the MediaPlayer player is alive.
Created attachment 239524 [details]
Created attachment 239543 [details]
Patch for landing
Committed r174563: <http://trac.webkit.org/changeset/174563>