RESOLVED FIXED Bug 208454
[GStreamer][MSE] Playback rate update support
https://bugs.webkit.org/show_bug.cgi?id=208454
Summary [GStreamer][MSE] Playback rate update support
kpect
Reported 2020-03-02 11:00:42 PST
Hi. I'm using www/surf browser (on FreeBSD 12.1 STABLE) which leverages www/webkit2-gtk3 and multimedia/gstreamer1 as a backend and I'm not able to change playback rate when watching youtube videos. $ uname -a FreeBSD KPECT 12.1-STABLE FreeBSD 12.1-STABLE GENERIC amd64 $ pkg query -a "%n-%v" | grep gstreamer gstreamer1-1.16.2 gstreamer1-libav-1.16.2 gstreamer1-plugins-1.16.2 gstreamer1-plugins-bad-1.16.2 gstreamer1-plugins-curl-1.16.2 gstreamer1-plugins-gl-1.16.2 gstreamer1-plugins-good-1.16.2 gstreamer1-plugins-neon-1.16.2 gstreamer1-plugins-soup-1.16.2 gstreamer1-plugins-vpx-1.16.2 > pkginfo webkit2-gtk3 /home/x ] webkit2-gtk3-2.26.4 Name : webkit2-gtk3 Version : 2.26.4 Installed on : Mon Mar 2 20:19:16 2020 +03 Origin : www/webkit2-gtk3 Architecture : FreeBSD:12:amd64 Prefix : /usr/local Categories : www Licenses : Maintainer : gnome@FreeBSD.org WWW : https://webkitgtk.org/ Comment : Opensource browser engine using the GTK+ 3 toolkit Options : DEBUG : off GEOIP : off WAYLAND : off Shared Libs required: libicudata.so.65 libxslt.so.1 libsoup-2.4.so.1 libpango-1.0.so.0 libjpeg.so.8 libgstapp-1.0.so.0 libsqlite3.so.0 libcairo.so.2 libgtk-3.so.0 libxml2.so.2 libtasn1.so.6 libgcrypt.so.20 libwebp.so.7 libsecret-1.so.0 libatk-1.0.so.0 libgstfft-1.0.so.0 libfreetype.so.6 libgstreamer-1.0.so.0 libgmodule-2.0.so.0 libharfbuzz-icu.so.0 libXcomposite.so.1 libgdk_pixbuf-2.0.so.0 libcairo-gobject.so.2 libgio-2.0.so.0 libgstgl-1.0.so.0 libX11.so.6 libwebpdemux.so.2 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libXrender.so.1 libXt.so.6 libicuuc.so.65 libharfbuzz.so.0 libEGL.so.1 libgstpbutils-1.0.so.0 libXdamage.so.1 libgstvideo-1.0.so.0 libgsttag-1.0.so.0 libpng16.so.16 libintl.so.8 libgstaudio-1.0.so.0 libgstbase-1.0.so.0 libopenjp2.so.7 libicui18n.so.65 libfontconfig.so.1 libgdk-3.so.0 libpangocairo-1.0.so.0 Shared Libs provided: libwebkit2gtk-4.0.so.37 libjavascriptcoregtk-4.0.so.18 Annotations : FreeBSD_version: 1201511 Flat size : 61.2MiB Description : WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. It offers WebKit's full functionality and is useful in a wide range of systems from desktop computers to embedded systems like phones, tablets, and televisions. WebKitGTK+ is made by a lively community of developers and designers, who hope to bring the web platform to everyone. It's the official web engine of the GNOME platform and is used in browsers such as Epiphany and Midori. WWW: https://webkitgtk.org/ Thank you in advance. Sergey.
Attachments
Patch (15.36 KB, patch)
2020-03-13 06:03 PDT, Philippe Normand
calvaris: review+
Philippe Normand
Comment 1 2020-03-13 04:03:31 PDT
This is overridden as unimplemented in the MSE player, I currently see no reason for such override.
Philippe Normand
Comment 2 2020-03-13 06:03:44 PDT
Xabier Rodríguez Calvar
Comment 3 2020-03-13 10:06:43 PDT
I'm open to give an r+ but I would prefer Alicia has a look at this as well.
Alicia Boya García
Comment 4 2020-03-14 10:27:07 PDT
Comment on attachment 393475 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=393475&action=review I hope some day I can finally get playbin3 and the new WebKitMediaSrc working and landed and I can get rid of most of this madness with seeks... but that is an ongoing rabbit hole (currently working on fixing WebKitWebSrc races to be able to debug playbin3 player races to be able to use playbin3 for MSE). With that in mind, if this passes tests, LGTM. > Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:248 > + // FIXME: Make a copy here because in some cases below it is modified. This > + // sounds like a bad idea and should be investigated further. > + MediaTime seekTime = position; Could you elaborate?
Alicia Boya García
Comment 5 2020-03-14 10:27:14 PDT
View in context: https://bugs.webkit.org/attachment.cgi?id=393475&action=review I hope some day I can finally get playbin3 and the new WebKitMediaSrc working and landed and I can get rid of most of this madness with seeks... but that is an ongoing rabbit hole (currently working on fixing WebKitWebSrc races to be able to debug playbin3 player races to be able to use playbin3 for MSE). With that in mind, if this passes tests, LGTM. > Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:248 > + // FIXME: Make a copy here because in some cases below it is modified. This > + // sounds like a bad idea and should be investigated further. > + MediaTime seekTime = position; Could you elaborate?
Philippe Normand
Comment 6 2020-03-14 10:37:11 PDT
Comment on attachment 393475 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=393475&action=review >> Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:248 >> + MediaTime seekTime = position; > > Could you elaborate? the seek time is updated there: https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp#L315
Xabier Rodríguez Calvar
Comment 7 2020-03-16 10:00:04 PDT
Comment on attachment 393475 [details] Patch The only thing I'd say is that it would be better if you split in two, one for the debug and the other one to actually fix the problem but I won't object if you want to land it like this.
Philippe Normand
Comment 8 2020-03-17 02:36:47 PDT
Radar WebKit Bug Importer
Comment 9 2020-03-17 02:37:14 PDT
Philippe Normand
Comment 10 2020-04-06 03:23:42 PDT
*** Bug 209386 has been marked as a duplicate of this bug. ***
Philippe Normand
Comment 11 2020-04-07 04:14:14 PDT
*** Bug 190844 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.