[Webkit-unassigned] [Bug 124500] [GStreamer] MediaSource playback barely works

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 11 10:44:20 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=124500


Brendan Long <b.long at cablelabs.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|webkit-unassigned at lists.web |b.long at cablelabs.com
                   |kit.org                     |




--- Comment #10 from Brendan Long <b.long at cablelabs.com>  2013-12-11 10:42:32 PST ---
When video caps change, we follow this process:

MediaPlayerPrivateGStreamer::videoCapsChanged()
(async)
MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCapsChanged()
HTMLMediaElement::mediaPlayerEngineUpdated()
RenderVideo::updateFromElement()
RenderVideo::updatePlayer()
RenderVideo::updateIntrinsicSize()

I think the problem is that (async) step, which allows rendering to continue before we update the intrinsic size, which leads to trying to write a 1280x720 image into a 700x394 buffer.

It would be nice if we could call mediaPlayerEngineUpdated() at the moment the caps change, but I don't think it would safe, since that's supposed to be called on a different thread. Another option is blocking rendering until the intrinsic size is updated, but that seems dangerous (and probably slow).

I'm trying to figure out how to get one of these options working:

   * Resize the image if it doesn't fit in the provided destination buffer.
   * Skip rendering until the destination buffer is the size we expect.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list