Bug 175625 - [GStreamer][GTK][WPE] Move common things to GStreamer cmake files
Summary: [GStreamer][GTK][WPE] Move common things to GStreamer cmake files
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Xabier Rodríguez Calvar
URL:
Keywords: InRadar
Depends on: 175821
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-16 04:05 PDT by Xabier Rodríguez Calvar
Modified: 2017-08-23 05:42 PDT (History)
9 users (show)

See Also:


Attachments
Patch (11.88 KB, patch)
2017-08-16 04:10 PDT, Xabier Rodríguez Calvar
no flags Details | Formatted Diff | Diff
Patch (11.80 KB, patch)
2017-08-16 08:34 PDT, Xabier Rodríguez Calvar
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews121 for ios-simulator-wk2 (11.27 MB, application/zip)
2017-08-16 12:25 PDT, Build Bot
no flags Details
Patch (11.60 KB, patch)
2017-08-17 10:48 PDT, Xabier Rodríguez Calvar
no flags Details | Formatted Diff | Diff
Patch (11.54 KB, patch)
2017-08-18 04:19 PDT, Xabier Rodríguez Calvar
no flags Details | Formatted Diff | Diff
Patch (11.54 KB, patch)
2017-08-23 04:44 PDT, Xabier Rodríguez Calvar
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Xabier Rodríguez Calvar 2017-08-16 04:05:08 PDT
[GStreamer][GTK][WPE] Move common things to GStreamer cmake files
Comment 1 Xabier Rodríguez Calvar 2017-08-16 04:10:19 PDT
Created attachment 318251 [details]
Patch
Comment 2 Carlos Alberto Lopez Perez 2017-08-16 04:22:13 PDT
Comment on attachment 318251 [details]
Patch

Setting r- because patch doesn't apply.
We should test this on the EWS before landing.
Comment 3 Carlos Alberto Lopez Perez 2017-08-16 05:05:54 PDT
Comment on attachment 318251 [details]
Patch

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

> Source/cmake/OptionsGStreamerDefinitions.cmake:5
> +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)

Maybe we should turn this on by default also for WPE? Or is there a reason to have different default values for this option between ports?
Therefore we can change here the default value to ON and remove the line
" WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_GSTREAMER_GL PRIVATE ON) "
from Source/cmake/OptionsGTK.cmake
Comment 4 Xabier Rodríguez Calvar 2017-08-16 08:34:33 PDT
Created attachment 318261 [details]
Patch
Comment 5 Xabier Rodríguez Calvar 2017-08-16 08:37:29 PDT
(In reply to Carlos Alberto Lopez Perez from comment #3)
> > Source/cmake/OptionsGStreamerDefinitions.cmake:5
> > +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
> 
> Maybe we should turn this on by default also for WPE? Or is there a reason
> to have different default values for this option between ports?
> Therefore we can change here the default value to ON and remove the line
> " WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_GSTREAMER_GL PRIVATE ON) "
> from Source/cmake/OptionsGTK.cmake

I didn't touch this and I won't unless Žan or Miguel gives a green light to it.

I did rebase the patch and made VIDEO_TRACK private for WPE.
Comment 6 Michael Catanzaro 2017-08-16 08:47:22 PDT
Comment on attachment 318251 [details]
Patch

I think I would prefer to duplicate the contents of OptionsGStreamerDefinitions.cmake in both port files... it's just easier to read without having to open up a new file. But I like OptionsGStreamerChecks.cmake. Maybe rename it to GStreamerChecks.cmake?
Comment 7 Carlos Alberto Lopez Perez 2017-08-16 09:03:32 PDT
(In reply to Xabier Rodríguez Calvar from comment #5)
> (In reply to Carlos Alberto Lopez Perez from comment #3)
> > > Source/cmake/OptionsGStreamerDefinitions.cmake:5
> > > +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
> > 
> > Maybe we should turn this on by default also for WPE? Or is there a reason
> > to have different default values for this option between ports?
> > Therefore we can change here the default value to ON and remove the line
> > " WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_GSTREAMER_GL PRIVATE ON) "
> > from Source/cmake/OptionsGTK.cmake
> 
> I didn't touch this and I won't unless Žan or Miguel gives a green light to
> it.

Miguel was the one proposing to turn this on by default on GTK+. Check bug 173406


> 
> I did rebase the patch and made VIDEO_TRACK private for WPE.

Good
Comment 8 Carlos Alberto Lopez Perez 2017-08-16 09:13:26 PDT
(In reply to Michael Catanzaro from comment #6)
> Comment on attachment 318251 [details]
> Patch
> 
> I think I would prefer to duplicate the contents of
> OptionsGStreamerDefinitions.cmake in both port files... it's just easier to
> read without having to open up a new file. 

I think avoiding this duplication is needed if we want to ensure that the consistency regarding gstreamer build options between GTK+ and WPE ports remains true.

Otherwise in the future is likely that some developer will update the options of one port but forgets about the other.

I think this is more important than making things easier to read.
Comment 9 Konstantin Tokarev 2017-08-16 09:22:07 PDT
(In reply to Michael Catanzaro from comment #6)
> But I like OptionsGStreamerChecks.cmake

Me too (except for "audio" which crept into GSTREAMER_COMPONENTS by default)
Comment 10 Build Bot 2017-08-16 12:25:37 PDT
Comment on attachment 318261 [details]
Patch

Attachment 318261 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/4325446

New failing tests:
http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https.html
Comment 11 Build Bot 2017-08-16 12:25:39 PDT
Created attachment 318280 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.12.5
Comment 12 Michael Catanzaro 2017-08-16 12:40:57 PDT
Comment on attachment 318261 [details]
Patch

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

OK, but please rename OptionsGStreamerDefinitions, etc. to GStreamerOptionsDefinitions. That way these new files are still sorted together, but not alongside the port options files.

> Source/cmake/OptionsGStreamerDefinitions.cmake:5
> +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)

I'm going to reverse your statement. I don't want to turn off GStreamerGL unless Miguel agrees to do that. We already agreed it would be ON for 2.18, so I really doubt he wants to turn it off now. If for some reason GStreamerGL is not yet ready for WPE, then perhaps it's too soon to have a unified set of options definitions, right? :)

Perhaps it's just an oversight that it was not already enabled for WPE?
Comment 13 Michael Catanzaro 2017-08-16 12:50:16 PDT
Comment on attachment 318261 [details]
Patch

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

> Source/cmake/OptionsGStreamerDependencies.cmake:3
> +if (DEFINED ENABLE_OPENGL)
> +  WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL ENABLE_OPENGL)
> +endif ()

Does WPE not have an ENABLE_OPENGL setting?
Comment 14 Carlos Alberto Lopez Perez 2017-08-16 13:52:18 PDT
(In reply to Michael Catanzaro from comment #13)
> Comment on attachment 318261 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=318261&action=review
> 
> > Source/cmake/OptionsGStreamerDependencies.cmake:3
> > +if (DEFINED ENABLE_OPENGL)
> > +  WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL ENABLE_OPENGL)
> > +endif ()
> 
> Does WPE not have an ENABLE_OPENGL setting?

OPENGL/EGL is mandatory on WPE AFAIK.
Comment 15 Carlos Alberto Lopez Perez 2017-08-16 13:56:08 PDT
(In reply to Michael Catanzaro from comment #12)
> Comment on attachment 318261 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=318261&action=review
> 
> OK, but please rename OptionsGStreamerDefinitions, etc. to
> GStreamerOptionsDefinitions. That way these new files are still sorted
> together, but not alongside the port options files.
> 
> > Source/cmake/OptionsGStreamerDefinitions.cmake:5
> > +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
> 
> I'm going to reverse your statement. I don't want to turn off GStreamerGL
> unless Miguel agrees to do that. We already agreed it would be ON for 2.18,
> so I really doubt he wants to turn it off now. If for some reason
> GStreamerGL is not yet ready for WPE, then perhaps it's too soon to have a
> unified set of options definitions, right? :)
> 
> Perhaps it's just an oversight that it was not already enabled for WPE?

I'm having a hard time thinking what possibly could be any reason to disable this on WPE by default and not on GTK+.

But let's wait for their input if you insist
Comment 16 Xabier Rodríguez Calvar 2017-08-17 01:43:49 PDT
(In reply to Konstantin Tokarev from comment #9)
> Me too (except for "audio" which crept into GSTREAMER_COMPONENTS by default)

Ok, I'll move this.

(In reply to Carlos Alberto Lopez Perez from comment #15)
> I'm having a hard time thinking what possibly could be any reason to disable
> this on WPE by default and not on GTK+.
> 
> But let's wait for their input if you insist

I don't know why it's disabled, but I also prefer to keep it as it is now.

(In reply to Carlos Alberto Lopez Perez from comment #14)
> (In reply to Michael Catanzaro from comment #13)
> > Does WPE not have an ENABLE_OPENGL setting?
> 
> OPENGL/EGL is mandatory on WPE AFAIK.

If it is, then I'll fix that too. We need their input then.

(In reply to Michael Catanzaro from comment #12)
> OK, but please rename OptionsGStreamerDefinitions, etc. to
> GStreamerOptionsDefinitions. That way these new files are still sorted
> together, but not alongside the port options files.

Removing the files and leaving the options back in the ports defeats not totally but a big part of the purpose of unifying things involving code of multimedia/GStreamer. I want to have them controlled. Actually, I think I should add a big warning on multimedia things that are overridden in ports.
Comment 17 Xabier Rodríguez Calvar 2017-08-17 01:45:35 PDT
(In reply to Xabier Rodríguez Calvar from comment #16)
> (In reply to Michael Catanzaro from comment #12)
> > OK, but please rename OptionsGStreamerDefinitions, etc. to
> > GStreamerOptionsDefinitions. That way these new files are still sorted
> > together, but not alongside the port options files.
> 
> Removing the files and leaving the options back in the ports defeats not
> totally but a big part of the purpose of unifying things involving code of
> multimedia/GStreamer. I want to have them controlled. Actually, I think I
> should add a big warning on multimedia things that are overridden in ports.

I forgot to mention that I think your renaming proposal sounds good and I'll do it in the next iteration.
Comment 18 Xabier Rodríguez Calvar 2017-08-17 10:48:54 PDT
Created attachment 318381 [details]
Patch
Comment 19 Xabier Rodríguez Calvar 2017-08-17 10:51:55 PDT
(In reply to Xabier Rodríguez Calvar from comment #17)
> I forgot to mention that I think your renaming proposal sounds good and I'll
> do it in the next iteration.

Done.

(In reply to Xabier Rodríguez Calvar from comment #16)
> (In reply to Konstantin Tokarev from comment #9)
> > Me too (except for "audio" which crept into GSTREAMER_COMPONENTS by default)
> 
> Ok, I'll move this.

Done.

> (In reply to Carlos Alberto Lopez Perez from comment #15)
> > I'm having a hard time thinking what possibly could be any reason to disable
> > this on WPE by default and not on GTK+.
> > 
> > But let's wait for their input if you insist
> 
> I don't know why it's disabled, but I also prefer to keep it as it is now.

Enabled it as per input of Žan and Miguel.

Also set VIDEO_TRACK as PRIVATE ON.
Comment 20 Konstantin Tokarev 2017-08-17 10:52:17 PDT
Comment on attachment 318381 [details]
Patch

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

> Source/cmake/GStreamerDependencies.cmake:1
> +WEBKIT_OPTION_DEPEND(ENABLE_VIDEO_TRACK ENABLE_VIDEO)

This line should be in WebKitFeatures.cmake
Comment 21 Xabier Rodríguez Calvar 2017-08-18 04:19:13 PDT
Created attachment 318490 [details]
Patch

Addressed annulen's comment
Comment 22 Xabier Rodríguez Calvar 2017-08-18 04:19:56 PDT
(In reply to Konstantin Tokarev from comment #20)
> > Source/cmake/GStreamerDependencies.cmake:1
> > +WEBKIT_OPTION_DEPEND(ENABLE_VIDEO_TRACK ENABLE_VIDEO)
> 
> This line should be in WebKitFeatures.cmake

It was already actually :)
Comment 23 Konstantin Tokarev 2017-08-18 04:27:08 PDT
LGTM
Comment 24 WebKit Commit Bot 2017-08-22 01:44:39 PDT
Comment on attachment 318490 [details]
Patch

Clearing flags on attachment: 318490

Committed r221006: <http://trac.webkit.org/changeset/221006>
Comment 25 WebKit Commit Bot 2017-08-22 01:44:41 PDT
All reviewed patches have been landed.  Closing bug.
Comment 26 Radar WebKit Bug Importer 2017-08-22 01:46:15 PDT
<rdar://problem/34009174>
Comment 27 WebKit Commit Bot 2017-08-22 02:52:48 PDT
Re-opened since this is blocked by bug 175821
Comment 28 Xabier Rodríguez Calvar 2017-08-23 04:44:42 PDT
Created attachment 318863 [details]
Patch

Enabled VIDEO_TRACK by default as it was in both ports which was making Debian and Ubuntu GTK+ bots fail to build.
Comment 29 WebKit Commit Bot 2017-08-23 05:42:51 PDT
Comment on attachment 318863 [details]
Patch

Clearing flags on attachment: 318863

Committed r221072: <http://trac.webkit.org/changeset/221072>
Comment 30 WebKit Commit Bot 2017-08-23 05:42:53 PDT
All reviewed patches have been landed.  Closing bug.