I don’t see outstanding errors, playback seems to work, there’s a video decoder 
error but I’m not sure it’s relevant…
Did you really enable OpenGL in packageconfig? 
What is your platform exactly? which GPU? which GL driver?



> On 5 Jun 2018, at 04:19, tugouxp <[email protected]> wrote:
> 
> hi brothers:
> 
>    thanks for your advice.
>    and i do the test as you said, got the logfile.
>    the attachment is the log file ,please notice.
>    thanks for your good advice again!
> 
> 
> 
> 
> At 2018-06-04 21:23:56, "Philippe Normand" <[email protected]> wrote:
> Ah ok, if you have waylandsink working too, I think you can try with WebKit 
> now, set these env vars:
> 
> export GST_DEBUG=“3,webkit*:6”
> export GST_DEBUG_FILE=gst.log
> 
> then run the browser and try to play a video and send the gst.log file.
> 
> Philippe
> 
>> On 4 Jun 2018, at 14:14, 13824125580 <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> so the appsink cannt be changed,right?my project is based on wayland display 
>> backend,i found  the waylandsink works fine with gst_play,so,the appsink 
>> also take wayland as its display backend,is it?
>> 
>> 
>> 
>> 发自我的小米手机
>> 在 Philippe Normand <[email protected] <mailto:[email protected]>>,2018年6月4日 
>> 下午8:41写道:
>> 
>> I asked you to test gst-play with glimagesink first so as to discard 
>> GStreamer issues. If that works well on your platform, move on to WebKit 
>> testing.
>> The appsink we use in WebKit behaves similarly to glimagesink.
>> 
>> Philippe
>> 
>>> On 4 Jun 2018, at 13:25, tugouxp <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> hi brother:
>>> 
>>>    thanks for your suggestions and i do the updating at once.
>>> 
>>> by the way, the webkit select "appsink" higher precedence than "webkit 
>>> video sink", in the last mail, you suggest me "glimagesink" too,
>>> 
>>> but which sinker should be select in webkit framework for my problem ? did 
>>> any relationsbetween appsink and glimagesink,  did the appsink is just a 
>>> wrapper of glimagesink,
>>> so we can know  whether the appsink works right by testing the glimagesink 
>>> directly?
>>> 
>>> thanks for your kindly supoort.
>>> 
>>> 
>>> 
>>> At 2018-06-04 19:21:27, "Philippe Normand" <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> gst-gl is part of gst-plugins-base in that version of GStreamer. You’re 
>>> using a pre-release though, I advise to upgrade to 1.14.
>>> 
>>> Philippe
>>> 
>>>> On 4 Jun 2018, at 12:13, tugouxp <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Hi brother:
>>>> 
>>>> sorry for fogotten the cc thing.
>>>> my gst version is  "1.13.90",  from the official webkit ,i only found the 
>>>> "gst-plugins-gl-0.10.3.tar.gz" seems like  "gstreamer_gl" you said , but 
>>>> the version seems did not match with the gstrreamer, and the latest update 
>>>> day is 2012,.
>>>> is this the gl package you said?
>>>> 
>>>> much appreciate your help.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> At 2018-06-04 18:51:07, "Philippe Normand" <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> When replying please keep the mailing list in CC to To: fields...
>>>> 
>>>>> On 4 Jun 2018, at 10:04, tugouxp <[email protected] 
>>>>> <mailto:[email protected]>> wrote:
>>>>> 
>>>>> hi folks :
>>>>> 
>>>>>  My project is  based on yoccto 2.5 project, with the  kernel version is  
>>>>> 4.9 and webkit is 2.20.2.
>>>>> 
>>>>> a part of my bb file is as follows, so you can see , the display window 
>>>>> show normal only if the opengl and gst_gl must be deleted.
>>>>> 53 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l53>
>>>>> 54 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l54>
>>>>>  #PACKAGECONFIG ??= "wayland opengl gles2 webcrypto gst_gl"
>>>>> 55 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l55>
>>>>>  PACKAGECONFIG ??= "wayland gles2 webcrypto"
>>>>> 56 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l56>
>>>>> 57 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l57>
>>>>>  PACKAGECONFIG[wayland] = 
>>>>> "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland 
>>>>> wayland-native"
>>>>> 58 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l58>
>>>>>  PACKAGECONFIG[x11] = 
>>>>> "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
>>>>> 59 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l59>
>>>>>  PACKAGECONFIG[geoclue] = 
>>>>> "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
>>>>> 60 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l60>
>>>>>  PACKAGECONFIG[enchant] = 
>>>>> "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
>>>>> 61 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l61>
>>>>>  PACKAGECONFIG[gtk2] = 
>>>>> "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
>>>>> 62 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l62>
>>>>>  PACKAGECONFIG[gles2] = 
>>>>> "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
>>>>> 63 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l63>
>>>>>  PACKAGECONFIG[webgl] = 
>>>>> "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
>>>>> 64 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l64>
>>>>>  PACKAGECONFIG[opengl] = 
>>>>> "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
>>>>> 65 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l65>
>>>>>  PACKAGECONFIG[libsecret] = 
>>>>> "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
>>>>> 66 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l66>
>>>>>  PACKAGECONFIG[libhyphen] = 
>>>>> "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
>>>>> 67 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l67>
>>>>>  PACKAGECONFIG[webcrypto] = 
>>>>> "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1"
>>>>> 68 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l68>
>>>>>  PACKAGECONFIG[gst_gl] = 
>>>>> "-DUSE_GSTREAMER_GL=ON,-DUSE_GSTREAMER_GL=OFF,gstreamer1.0-plugins-bad"
>>>>> 69 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l69>
>>>>>  # Source is at https://github.com/google/woff2 
>>>>> <https://github.com/google/woff2>
>>>>> 70 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l70>
>>>>>  PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
>>>>> 71 
>>>>> <http://gerrit.allwinnertech.com:8081/gitweb?p=product/tina-yocto/meta-tina.git;a=blob;f=recipes-webkit/webkitgtk-2.20.2/webkitgtk_2.20.2.bb;h=bb12762c0d9f6f41a5dab294eaeca57e3675fda1;hb=refs/heads/tina-dev#l71>
>>>>> 
>>>> 
>>>> You need to make sure gst-play-1.0 —videosink=glimagesink works on your 
>>>> platform before starting to debug webkit.
>>>> After you have validated that works, make sure you enabled gst_gl in that 
>>>> packageconfig thing. Which GStreamer version do you use?
>>>> 
>>>> 
>>>>> 
>>>>> 
>>>>> At 2018-06-04 16:43:26, "Philippe Normand" <[email protected] 
>>>>> <mailto:[email protected]>> wrote:
>>>>> Hi!
>>>>> 
>>>>> Which linux distribution do you use? If you are using the latest Ubuntu 
>>>>> (17.04 is the version I think) or Debian then you need to install 
>>>>> gstreamer1.0-gl. See also https://bugs.webkit.org/show_bug.cgi?id=184925 
>>>>> <https://bugs.webkit.org/show_bug.cgi?id=184925>
>>>>> 
>>>>> Philippe
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 1 Jun 2018, at 08:43, tugouxp <[email protected] 
>>>>>> <mailto:[email protected]>> wrote:
>>>>>> 
>>>>>> hi folks:
>>>>>>     i make a test about video player with video tag based on midori and 
>>>>>> webkit2.22.2, but seems only when i disable "GSTREAMER_GL", the display 
>>>>>> window can be displayed normally.
>>>>>> if the GSTREAMER_GL was enabled, the decoder process working fine but 
>>>>>> the browser cant show the player window, just a blank window.
>>>>>> so,from the code, it seems the difference between the two test is the 
>>>>>> display sinker of gstreamer pipe was different.
>>>>>> 1.if GSTRREAMER_GL enabled, it would be use the display sinker 
>>>>>> "createVideoSinkGL" returned
>>>>>> 2.if GSTRREAMER_GL disabled, the default display sinker would be webkit 
>>>>>> video sink.
>>>>>> 
>>>>>> seems only method 2 can use, but i found another problem when using the 
>>>>>> way 2(webkit videw sinker), that is  when playing high quality streamer 
>>>>>> with browser, the cpu occupancy rate was very high (about 50 percent) of 
>>>>>> process 'webkitwebprocess'. 
>>>>>> 
>>>>>> so i dont know how to choice, which is the better way to deal with this 
>>>>>> problem, much appreciate your help!
>>>>>> 
>>>>>> codes:
>>>>>> 
>>>>>> 1108 GstElement* MediaPlayerPrivateGStreamerBase::createVideoSink()      
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1109 {                                                                   
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1110     acceleratedRenderingStateChanged();                             
>>>>>>                                                                          
>>>>>>                                                                  
>>>>>> 1111                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1112 #if USE(GSTREAMER_GL)                                               
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1113     if (m_renderingCanBeAccelerated)                                
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1114     ¦   m_videoSink = createVideoSinkGL();                          
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1115 #endif                                                              
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1116                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1117     if (!m_videoSink) {                                             
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1118     ¦   m_usingFallbackVideoSink = true;                            
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1119     ¦   m_videoSink = webkitVideoSinkNew();                         
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1120     ¦   g_signal_connect_swapped(m_videoSink.get(), 
>>>>>> "repaint-requested", G_CALLBACK(repaintCallback), this);                 
>>>>>>                                          
>>>>>> 1121     ¦   g_signal_connect_swapped(m_videoSink.get(), 
>>>>>> "repaint-cancelled", G_CALLBACK(repaintCancelledCallback), this);        
>>>>>>                                         
>>>>>> 1122     }                                                               
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1123                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1124     GstElement* videoSink = nullptr;                                
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1125     m_fpsSink = gst_element_factory_make("fpsdisplaysink", "sink"); 
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1126     if (m_fpsSink) {                                                
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1127     ¦   g_object_set(m_fpsSink.get(), "silent", TRUE , nullptr);    
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1128                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1129     ¦   // Turn off text overlay unless logging is enabled.         
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1130 #if LOG_DISABLED                                                    
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1131     ¦   g_object_set(m_fpsSink.get(), "text-overlay", FALSE , 
>>>>>> nullptr);                                                                
>>>>>>                               
>>>>>> 1132 #else                                                               
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1133     ¦   if (!isLogChannelEnabled("Media"))                          
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1134     ¦   ¦   g_object_set(m_fpsSink.get(), "text-overlay", FALSE , 
>>>>>> nullptr);                                                                
>>>>>>                           
>>>>>> 1135 #endif // LOG_DISABLED                                              
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1136                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1137     ¦   if 
>>>>>> (g_object_class_find_property(G_OBJECT_GET_CLASS(m_fpsSink.get()), 
>>>>>> "video-sink")) {                                                         
>>>>>>                
>>>>>> 1138     ¦   ¦   g_object_set(m_fpsSink.get(), "video-sink", 
>>>>>> m_videoSink.get(), nullptr);                                             
>>>>>>                                      
>>>>>> 1139     ¦   ¦   videoSink = m_fpsSink.get();                            
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1140     ¦   } else                                                      
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1141     ¦   ¦   m_fpsSink = nullptr;                                    
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1142     }                                                               
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1143                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1144     if (!m_fpsSink)                                                 
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1145     ¦   videoSink = m_videoSink.get();                              
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1146                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1147     ASSERT(videoSink);                                              
>>>>>>                                                                          
>>>>>>                          
>>>>>> 1148                                                                     
>>>>>>                                                                          
>>>>>>                         
>>>>>> 1149     return videoSink;
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>  
>>>>>> 
>>>>>> _______________________________________________
>>>>>> webkit-gtk mailing list
>>>>>> [email protected] <mailto:[email protected]>
>>>>>> https://lists.webkit.org/mailman/listinfo/webkit-gtk 
>>>>>> <https://lists.webkit.org/mailman/listinfo/webkit-gtk>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>  
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>  
>>>> 
>>> 
>>> 
>>> 
>>> 
>>>  
>>> 
>> 
> 
> 
> 
> 
>  
> 
> <gst.log>

_______________________________________________
webkit-gtk mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-gtk

Reply via email to