Bug 135766 - [WinCairo] Make it easier to enable/disable GStreamer.
Summary: [WinCairo] Make it easier to enable/disable GStreamer.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-08-08 13:58 PDT by peavo
Modified: 2014-09-15 02:45 PDT (History)
6 users (show)

See Also:


Attachments
Patch (10.88 KB, patch)
2014-08-08 14:26 PDT, peavo
no flags Details | Formatted Diff | Diff
Patch (14.38 KB, patch)
2014-08-09 03:42 PDT, peavo
no flags Details | Formatted Diff | Diff
Patch (10.43 KB, patch)
2014-09-11 06:17 PDT, peavo
no flags Details | Formatted Diff | Diff
Patch (10.40 KB, patch)
2014-09-11 09:24 PDT, peavo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description peavo 2014-08-08 13:58:34 PDT
Since the Media Foundation implementation doesn't appear to be completed, could we enable GStreamer?
Comment 1 peavo 2014-08-08 14:26:45 PDT
Created attachment 236306 [details]
Patch
Comment 2 Alex Christensen 2014-08-08 15:49:05 PDT
Comment on attachment 236306 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=236306&action=review

I would r+ most of this, except Platform.h.  I left the GStreamer property sheets in to not remove the future possibility of using GStreamer.

> Source/WTF/wtf/Platform.h:861
> +#define WTF_USE_GLIB 1

I think people want glib to not be a dependency.  See the discussion after https://lists.webkit.org/pipermail/webkit-dev/2014-April/026478.html
I'm ok with putting the rest of these changes in to make your work easier, but I do not want to switch the default build to GStreamer unless it works with seeking and loading correctly.  
https://bugs.webkit.org/show_bug.cgi?id=127376 (which I'm not working on any more)

> Source/WebCore/WebCore.vcxproj/WebCore.vcxproj:134
> +    <Import Project="..\..\..\WebKitLibraries\win\tools\vsprops\GStreamer32.props" />

Let's import GStreamerCommon.props here, too.  It's not needed, but we might want to do global changes later without wondering why WebCore is not changing.
Comment 3 peavo 2014-08-09 03:42:47 PDT
Created attachment 236332 [details]
Patch
Comment 4 peavo 2014-08-09 03:47:31 PDT
(In reply to comment #2)
> (From update of attachment 236306 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=236306&action=review
> 

Thanks for reviewing :)

> I would r+ most of this, except Platform.h.  I left the GStreamer property sheets in to not remove the future possibility of using GStreamer.
> 
> > Source/WTF/wtf/Platform.h:861
> > +#define WTF_USE_GLIB 1
> 

This seems to be needed, I get compile errors without it.

> I think people want glib to not be a dependency.  See the discussion after https://lists.webkit.org/pipermail/webkit-dev/2014-April/026478.html
> I'm ok with putting the rest of these changes in to make your work easier, but I do not want to switch the default build to GStreamer unless it works with seeking and loading correctly.  
> https://bugs.webkit.org/show_bug.cgi?id=127376 (which I'm not working on any more)

I believe this was caused by a bug in the Curl disc cache implementation, which I think is fixed now.
Comment 5 peavo 2014-08-09 06:29:33 PDT
I'll have a look at the Media Foundation implementation soon.
Comment 6 Philippe Normand 2014-08-10 23:40:14 PDT
(In reply to comment #4)
> (In reply to comment #2)
> > (From update of attachment 236306 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=236306&action=review
> > 
> 
> Thanks for reviewing :)
> 
> > I would r+ most of this, except Platform.h.  I left the GStreamer property sheets in to not remove the future possibility of using GStreamer.
> > 
> > > Source/WTF/wtf/Platform.h:861
> > > +#define WTF_USE_GLIB 1
> > 
> 
> This seems to be needed, I get compile errors without it.
> 

What compile errors?
Comment 7 Alex Christensen 2014-08-11 11:38:08 PDT
Comment on attachment 236332 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=236332&action=review

This looks good except changing the build to require GStreamer and Glib.  I'll try playing with GStreamer on Windows again soon.

> Source/WTF/wtf/Platform.h:859
> +#define WTF_USE_MEDIA_FOUNDATION 0

This is the real issue: I would like to not change the default WinCairo build to use GStreamer.  I'm in favor of all these changes except this line.

> Source/WTF/wtf/Platform.h:860
> +#if !WTF_USE_MEDIA_FOUNDATION

#if USE(MEDIA_FOUNDATION)

> Source/WTF/wtf/Platform.h:861
> +#define WTF_USE_GLIB 1

GLIB is indeed needed with GStreamer otherwise there are compile errors because things are missing.  This is good.

> Websites/webkit.org/building/tools.html:65
> +<ul><li><a href="http://gstreamer.freedesktop.org/data/pkg/windows/1.2.1/gstreamer-1.0-devel-x86-1.2.1.msi">gstreamer-1.0-devel-x86-1.2.1.msi</a></li>

Philippe, does the GTK port still use GStreamer 1.2.1?
Comment 8 Philippe Normand 2014-08-11 23:02:56 PDT
Yes the bots use GStreamer 1.2.1 still but now that 1.4.0 was released I think we should bump our requirement. 1.4.x is the new stable branch now, I'd advise you to try it :)
Comment 9 peavo 2014-09-11 06:17:08 PDT
Created attachment 237952 [details]
Patch
Comment 10 peavo 2014-09-11 06:19:41 PDT
This patch is no longer about enabling GStreamer, but to make it easier to enable/disable GStreamer.
This can be done by editing a new user macro called ENABLE_GSTREAMER_WINCAIRO.
I put it in GStreamerCommon.props, but maybe it belongs in FeatureDefinesCairo.props?
Comment 11 Philippe Normand 2014-09-11 06:21:30 PDT
Comment on attachment 237952 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=237952&action=review

> Source/WTF/wtf/Platform.h:879
> +#define GST_API_VERSION_1 1

This define is not needed. It was introduced when when we had to support both 0.10 and 1.0 gst APIs but now that 0.10 support was removed there's no need for such macro.
Comment 12 peavo 2014-09-11 09:24:53 PDT
Created attachment 237956 [details]
Patch
Comment 13 peavo 2014-09-11 09:26:11 PDT
(In reply to comment #11)
> (From update of attachment 237952 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=237952&action=review
> 
> > Source/WTF/wtf/Platform.h:879
> > +#define GST_API_VERSION_1 1
> 
> This define is not needed. It was introduced when when we had to support both 0.10 and 1.0 gst APIs but now that 0.10 support was removed there's no need for such macro.

Thanks :) Updated patch.
Comment 14 Philippe Normand 2014-09-11 09:29:02 PDT
Comment on attachment 237956 [details]
Patch

LGTM but I'll let Brent do a real review :)
Comment 15 Brent Fulgham 2014-09-11 10:11:25 PDT
Comment on attachment 237956 [details]
Patch

This looks fine, although I really was hoping to standardize on the built-in Windows media stack. r=me.
Comment 16 peavo 2014-09-11 10:30:47 PDT
(In reply to comment #15)
> (From update of attachment 237956 [details])
> This looks fine, although I really was hoping to standardize on the built-in Windows media stack. r=me.

Thanks for reviewing :) I believe the next step will be to complete the Media Foundation implementation.
Comment 17 WebKit Commit Bot 2014-09-15 02:45:14 PDT
Comment on attachment 237956 [details]
Patch

Clearing flags on attachment: 237956

Committed r173616: <http://trac.webkit.org/changeset/173616>
Comment 18 WebKit Commit Bot 2014-09-15 02:45:19 PDT
All reviewed patches have been landed.  Closing bug.