Bug 132143 - implement video using media foundation
Summary: implement video using media foundation
Status: RESOLVED DUPLICATE of bug 140337
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows Vista
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-24 14:01 PDT by Alex Christensen
Modified: 2015-01-13 15:02 PST (History)
2 users (show)

See Also:


Attachments
hacky prototype patch (43.69 KB, application/octet-stream)
2014-04-24 14:02 PDT, Alex Christensen
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2014-04-24 14:01:47 PDT
I have a hacky proof-of-concept with much of the functionality of the media foundation example at http://msdn.microsoft.com/en-us/library/windows/desktop/ff728866(v=vs.85).aspx

I wrote the seek functionality and a few other things.  The mimeTypeCache is taken directly from GStreamer and needs to be replaced.  The CPlayer needs to be put into MediaPlayerPrivateMediaFoundation instead of using a global variable for one player.  I need to figure out how to get the pixels from the other window into the GraphicsContext in the paint method and hide the video window.  WebKit.dll needs to link with mf.lib, mfplat.lib, mfuuid.lib, strmiids.lib, and Shlwapi.lib.  WTF_USE_MEDIA_FOUNDATION needs to be defined in Platform.h instead of the glib, gstreamer, and gst api definitions.  The functionality needs to be refined, but it works with http://www.w3.org/2010/05/video/mediaevents.html and play/pause/seek controls work.

I'm not sure how much I'll be able to work on this in the near future, so I'm uploading what I have in case someone wants to play with it.
Comment 1 Alex Christensen 2014-04-24 14:02:31 PDT
Created attachment 230102 [details]
hacky prototype patch
Comment 2 Alex Christensen 2015-01-13 15:02:08 PST
This is being done much better by Peavo in bug 140337.

*** This bug has been marked as a duplicate of bug 140337 ***