Bug 132118

Summary: [EFL] WebKit build fails when MEDIA_SOURCE is enabled
Product: WebKit Reporter: Praveen Jadhav <praveen.j>
Component: WebKit EFLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bunhere, commit-queue, dev_sachin, gyuyoung.kim, lucas.de.marchi, rakuco, sergio
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Praveen Jadhav 2014-04-24 01:57:52 PDT
Enable MEDIA_SOURCE for EFL build in the file Tools/Scripts/webkitperl/FeatureList.pm and compile the code. Build breaks with the following error.

CMakeFiles/WebCore.dir/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.o: In function `WebCore::initializeGStreamerAndRegisterWebKitElements()':
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore44initializeGStreamerAndRegisterWebKitElementsEv+0xc1): undefined reference to `webkit_media_src_get_type'
CMakeFiles/WebCore.dir/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp.o: In function `WebCore::MediaPlayerPrivateGStreamer::sourceChanged()':
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore27MediaPlayerPrivateGStreamer13sourceChangedEv+0x8c): undefined reference to `webkit_media_src_get_type'
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore27MediaPlayerPrivateGStreamer13sourceChangedEv+0xc1): undefined reference to `webkit_media_src_get_type'
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore27MediaPlayerPrivateGStreamer13sourceChangedEv+0xdf): undefined reference to `WebCore::MediaSourceGStreamer::open(WebCore::MediaSourcePrivateClient*, _WebKitMediaSrc*)'
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore27MediaPlayerPrivateGStreamer13sourceChangedEv+0xeb): undefined reference to `webkit_media_src_get_type'
MediaPlayerPrivateGStreamer.cpp:(.text._ZN7WebCore27MediaPlayerPrivateGStreamer13sourceChangedEv+0x109): undefined reference to `webKitMediaSrcSetPlayBin'
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libwebcore_efl.so.0.1.0] Error 1
make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
make: *** [all] Error 2
Comment 1 Praveen Jadhav 2014-04-24 02:57:49 PDT
Created attachment 230066 [details]
Patch

PlatformEfl.cmake is modified to include MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and WebKitMediaSourceGStreamer.cpp for compilation.
Comment 2 Gyuyoung Kim 2014-04-24 03:50:24 PDT
Comment on attachment 230066 [details]
Patch

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

It would be nice to move those file from PlatofrmGTK|EFL to CMakeLists.txt because GTK port also use it. However, we can't do that because wince port doesn't use it.

> Source/WebCore/CMakeLists.txt:3111
> +    "${WEBCORE_DIR}/platform/mock/mediasource"

PlatformGTK.cmake also includes this path. I think you need to remove it from the PlatformGTK.cmake if you want to add the path to CMakeLists.txt But, wince port doesn't need to include this path. So, I think you need to move this to PlatformEfl.cmake as well.
Comment 3 Praveen Jadhav 2014-04-24 06:26:14 PDT
Created attachment 230074 [details]
Patch

Patch updated. All changes are included in PlatformEfl.cmake to ensure other bots are not affected.
Comment 4 Brent Fulgham 2014-04-24 09:01:19 PDT
Comment on attachment 230074 [details]
Patch

r=me. Are similar changes needed on Gtk?
Comment 5 WebKit Commit Bot 2014-04-24 09:31:49 PDT
Comment on attachment 230074 [details]
Patch

Clearing flags on attachment: 230074

Committed r167762: <http://trac.webkit.org/changeset/167762>
Comment 6 WebKit Commit Bot 2014-04-24 09:31:53 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Praveen Jadhav 2014-04-24 19:44:56 PDT
(In reply to comment #4)
> (From update of attachment 230074 [details])
> r=me. Are similar changes needed on Gtk?

Gtk already has these changes.