> On Sat, Feb 26, 2011 at 1:47 PM, Barrett <barrett666@xxxxxxxxx> > wrote: > > > > The next gsoc is close and i'm thinking about proposing myself for > > integrating our webkit port in the media_kit. As far as i know, it > > can allow > > us to see the beta version of youtube in HTML5 and since HTML5 will > > be the > > next standard (in the long period) could be good to make Haiku a > > bit forward > > with the times. > > Implementing HTML5 video and audio with the Media Kit has been on my > mind (and probably Stephan's) for some time. But I don't think it is > appropriate for GSoC. See more below... > > > Since i'm not an expert developer, i don't know if it could be > > appreciated > > as gsoc project, and i have not a precise idea of how WebPositive > > works. Can > > anyone figure me what are the essential step to do that? Is there > > any reason > > that make the project unsuitable for gsoc? > > I don't think this (or really any project related to WebKit or > WebPositive) is good for GSoC, even for expert developers. I actually > was thinking this before I read your email because I was considering > whether I wanted to be a mentor this year. > > WebKit is just a massively huge project and it takes many months to > get familiar with it. Compiling WebKit can take as long as compiling > Haiku, so it can be frustrating at times. Committing patches to > WebKit > is also fairly complicated. Lastly the Haiku Media Kit is also a > pretty big and complex system, and most Haiku developers (including > myself) would probably have a lot of trouble working on this project, > let alone mentoring it. Stephan would be an ideal mentor, but he is > very busy these days and does not have the time. > > So I would seriously consider another project if you want to apply to > GSoC. Indeed I am quite busy these days, including last night when I read this mail and wanted to reply in a similar way. :-) Working on this GSoC project would involve multiple complex tasks, as Ryan already pointed out. The first step would be to synchronize the WebKit version that the port uses to the current WebKit repository. That allone is quite tricky and could take someone familiar with the port and WebKit (which has undergone restructuring in the meantime) several days easily, if things don't go well and new stuff has to be written to get the current WebKit going, it could take weeks alone for this step. Then one has to analyze and throughroughly understand how multi-media works in WebKit. This involves creating new implementations of the related interface for the Haiku port, but it likely also involves work in the network layer. The Haiku port uses the cURL backend, but no other port uses it IIRC and it's outdated. I've had to update that layer already, because it wasn't targeting the current version of libcurl, which is included with Haiku. Once all this is figured out, the Haiku Media Kit itself needs to support streaming. This again requires a good understanding of how everything works in the Media Kit and changing existing plug-ins. The implementation of the graphics layer in the Haiku WebKit port may or may not be suitable for the multi-media requirements, or at least may need some improvements, which requires a good understanding of the Interface Kit and app_server interaction. One needs to mess with Media Nodes, since playback of audio requires connecting a node to the system mixer. There are tricky issues with synchronization of the audio to the video, especially with regards to seeking by the user, or, what's much worse and actually quite common, network hickups. All in all, the project involves many complex subsystems, I am sceptical that it can be done in three months even by a very experienced Haiku developer. Best regards, -Stephan