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 <13824125...@163.com> 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
> webkit-gtk@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-gtk

_______________________________________________
webkit-gtk mailing list
webkit-gtk@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-gtk

Reply via email to