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