Re: WebKit: Failing to play most HTML5 videos

2019-02-05 Thread Pierre Neidhardt
I can reproduce on a fresh Guix install.
It bugs me that I don't seem to be able to reproduce the issue reliably (I tried
removing the Gstreamer cache).

Anyone else?  

Well, I guess I'll work on a patch then :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2019-01-14 Thread Pierre Neidhardt
Swedebugia, you might be misunderstood: neighter Icecat not mpv are
WebKit-based, which is at the root of this issue.

If you'd like to test, you should try with, say, eolie, epiphany, vimb or next.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2019-01-14 Thread swedebugia
On 2019-01-14 15:22, Pierre Neidhardt wrote:
> Weird, I've re-installed the original gst-plugins-bad and I've deleted
> ~/.cache/gstreamer-1* but it keeps playing normally.  I can't reproduce the
> issue.

On vanilla 0.16 64bit I can play these videoes in icecat:
https://vimeo.com/ondemand/ibelieveicanfly/81591839
https://www.dr.dk/tv/se/peitersen-og-feldthaus/peitersen-og-feldthause/peitersen-og-feldthaus-2-5-2#!/02:13

Svtplay.se does not work in the browser for some reason, but with mpv
videos play fine:
https://www.svtplay.se/video/20630456/mannen-under-trappan/mannen-under-trappan-sasong-1-avsnitt-1
 (+) Video --vid=1 (*) (h264 1280x720)
 (+) Audio --aid=1 (*) 'DASH audio' (aac 2ch 48000Hz) (external)
 Subs  --sid=1 --slang=sv 'vtt' (webvtt) (external)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1280x720 yuv420p

I have no gst-* package installed:

sdb@antelope ~$ gp -l |grep -v Gene
 
emacs-paredit   24  out 
/gnu/store/1zha5anxg029qfl7r569aap5lfyrb66a-emacs-paredit-24
 
emacs-no-x  26.1out 
/gnu/store/9v7m3c83rm1rgi99ph5xdkpnnd0c62x4-emacs-no-x-26.1
 
setxkbmap   1.3.1   out 
/gnu/store/3px1119mhx9q7xzmi5jlg5wylhkx84cr-setxkbmap-1.3.1
  git   2.19.2  out /gnu/store/iffgahfxnk13narndlaqf9xm0yhyhyyv-git-2.19.2

 +
lynx2.8.9rel.1  out 
/gnu/store/nziwhxiknf28ap5z0wgmyrm0ds84a0pf-lynx-2.8.9rel.1
 +
screen  4.6.2   out /gnu/store/xrb73jf6ffv5gm4dc6fili7vr6nahhfz-screen-4.6.2

 +
libgcrypt   1.8.3   out 
/gnu/store/87fdwmippyfs01870x5hq7v2lcyfczpi-libgcrypt-1.8.3

 + mc   4.8.20  out /gnu/store/glxbmvcj3kza3cdabfrdmd4wr4zvm4xa-mc-4.8.20

 + file 5.33out /gnu/store/wb03gzlrxs8ihrmn9cdxv9r16iyl7x6m-file-5.33

 + ccache   3.5 out 
/gnu/store/367qmfdrsi2hi9ibvbqik1zpcrnpq2kh-ccache-3.5

 +
gnupg   2.2.11  out /gnu/store/x1nd7dazhbc3s0lrpf6ap3ilqy0q4p2x-gnupg-2.2.11

 +
android-udev-rules  20180112out 
/gnu/store/flc82b0g7193kfgcc1ddd5fpfdk0dkd2-android-udev-rules-20180112

 +
alsa-utils  1.1.6   out 
/gnu/store/hwshd31clxqlaia041cysp0pfgfw9k3j-alsa-utils-1.1.6

 +
emacs-debbugs   0.16out 
/gnu/store/arnli7acr106p4p490z1wg9f5fb0hsfd-emacs-debbugs-0.16

 +
emacs-magit 2.13.0  out 
/gnu/store/lbxc9l8b1b843w84lqswal27dvry92qp-emacs-magit-2.13.0

 + lzip 1.20out /gnu/store/2kwysbg8f175gmqmsd5kjggmy6hvxi5k-lzip-1.20

 +
zlib1.2.11  out /gnu/store/nq4lsyipmfb0q7g26ra45rwwqrh3x8zw-zlib-1.2.11
 +
ncurses 6.1 out /gnu/store/4h03mp5nggsblscs6j0n7s6sbpfy6kxh-ncurses-6.1
 +
ninja   1.8.2   out /gnu/store/cjg91bd3szl9zj8ymyllig92jah7jln5-ninja-1.8.2

 + make 4.2.1   out /gnu/store/p62f90him5qvm4f1zaqyrhdwkqxqj2c4-make-4.2.1

 +
cmake   3.12.2  out /gnu/store/1amd2s1n83kzkl590p6l0j56qbppz50d-cmake-3.12.2

 + gcc  8.2.0   out /gnu/store/px8nkcmr1bp76mhfm2lbzz2h3n9wfbz5-gcc-8.2.0

 +
docbook-xsl 1.79.1  out 
/gnu/store/agq4fnja1mlywp6iqhfvlfvi5m9377wa-docbook-xsl-1.79.1
 +
docbook-xml 4.5 out 
/gnu/store/n837qp708wbvqf8yv9f4rdf1qqnlxs3b-docbook-xml-4.5

 +
libxml2 2.9.8   out 
/gnu/store/l2f5m536i38z1403fyxjnrbrfk6d9xqb-libxml2-2.9.8

 +
libxslt 1.1.32  out 
/gnu/store/d873smkv345rsb5bj3db0qj225lsl9gs-libxslt-1.1.32

 +
evince  3.28.2  out 
/gnu/store/nrkzk9hb243r10828snw5fzr8wh7b8j1-evince-3.28.2
 + zip  3.0 out /gnu/store/f8fvjnqz091053099wghflw4gbrphqcr-zip-3.0

 +
wget1.19.5  out /gnu/store/jic99a7c275g4lv8bc8mxigzw6c9b0h4-wget-1.19.5

 +
icecat  60.3.0-gnu1 out 
/gnu/store/rllrc55ygi4yhxnhq8v41ynl6mg5ak56-icecat-60.3.0-gnu1

 +
graphviz2.40.1  out 
/gnu/store/155d09rr27fj9wjcajn4d2rmvwsn3hwx-graphviz-2.40.1

 +
font-gnu-freefont-ttf   20120503out 
/gnu/store/w5jl7bvk86srfawxyfsg2n4b11zwwnfy-font-gnu-freefont-ttf-20120503

 +
workrave1.10.21 out 
/gnu/store/bli5m4m8hvkkhrphv13qkgyln7zghzvs-workrave-1.10.21

 +
youtube-dl  2018.11.07  out 
/gnu/store/20wr2z2qnm36mwcdmmzpsvr9f4899gc9-youtube-dl-2018.11.07
 +
xfce4-clipman-plugin1.2.6   out 
/gnu/store/ja8sv7jmpvdn6bs264p3xxbzlkqxi2il-xfce4-clipman-plugin-1.2.6
 +
xfce4-taskmanager   1.1.0   out 
/gnu/store/7s67w5pd7v5g3wyrvrc8ikqinlvbaa6w-xfce4-taskmanager-1.1.0

 +
nload   0.7.4   out /gnu/store/4596mpsg2w7zmv8zz0ln1qn8pq80bkk7-nload-0.7.4

 +
strace  4.25out /gnu/store/jwsi74vkwb3y32w7hbnxsbssi0fp73l8-strace-4.25

 + emacs26.1out 
/gnu/store/gppr8msvzgxr87psbj3w6hc07lnnzpvx-emacs-26.1

 +
emacs-atom-one-dark-theme   0.4.0-0.1f1185b out 
/gnu/store/mlxnvrkgmiaf5jr1afp1dswwnn0jq4w1-emacs-atom-one-dark-theme-0.4.0-0.1f1185b

 +
node-test   0.6.0   out 
/gnu/store/y32myp8pdraqk6iay4advvwlfdqlh4g0-node-test-0.6.0

 +
node-minimist   1.2.0   out 
/gnu/store/dcl9qs1p2ckqjqhczj44gaasfmsljqgl-node-minimist-1.2.0

 +
guile-readline  2.2.4   out 
/gnu/store/2fsg1jl3hwxnak9h39f6vzx87hp48dsm-guile-readline-2.2.4

 +
node-semver 5.6.0   out 

Re: WebKit: Failing to play most HTML5 videos

2018-12-21 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

>> Instead we should run getenv to get the location from one
>> of the common environment variables and only fall back to
>> “/etc/ssl/certs/ca-certificates.crt” if it isn’t set.
>
> You mean add getenv in C, right?

Yes.

> Wouldn't there be a way with environment variables though?  From an executable
> wrapper, or maybe in ./etc/profile.

I haven’t looked if that’s possible.  Users of libcurl are supposed to
set the location of the cert bundle or else have to use the default for
*libcurl* provided at configure time.

This plugin does have a knob to override the location, but I don’t know
how to turn it.  It looks like it’s used as a command line argument, but
nobody uses this plugin on the command line.

If you can find a way that doesn’t involve patching in a getenv call I’d
be happier, but if we can’t figure out another way and the alternative
is to have a broken plugin I’d rather go down the getenv route.

What do you think?

>> Another thing: I found that my browser tab freezes when a video rewinds
>> to loop.  I have gst-libav installed (in addition to all the
>> “gst-plugins-*” packages), so that may be responsible here.
>
> I have the same issue.
> Which browser are you using?

I used epiphany for the test.

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-21 Thread Pierre Neidhardt

> Instead we should run getenv to get the location from one
> of the common environment variables and only fall back to
> “/etc/ssl/certs/ca-certificates.crt” if it isn’t set.

You mean add getenv in C, right?

Wouldn't there be a way with environment variables though?  From an executable
wrapper, or maybe in ./etc/profile.

> Would you like to change the patch to accomplish this?  Please present
> it here before pushing it.

Sure.

> Another thing: I found that my browser tab freezes when a video rewinds
> to loop.  I have gst-libav installed (in addition to all the
> “gst-plugins-*” packages), so that may be responsible here.

I have the same issue.
Which browser are you using?

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2018-12-20 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> You are right, this was it!  Thank you so much!
>
> So, what about your patch now?  Shall we merge it?

The patch is a bit crude.  We shouldn’t hard-code the location of the
cert bundle.  Instead we should run getenv to get the location from one
of the common environment variables and only fall back to
“/etc/ssl/certs/ca-certificates.crt” if it isn’t set.

Would you like to change the patch to accomplish this?  Please present
it here before pushing it.

Another thing: I found that my browser tab freezes when a video rewinds
to loop.  I have gst-libav installed (in addition to all the
“gst-plugins-*” packages), so that may be responsible here.

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-20 Thread Pierre Neidhardt
I have all of it.

libx264 is linked in gst-plugins-ugly.

I found some more information here:

https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html
https://stackoverflow.com/questions/17096139/your-gstreamer-installation-is-missing-a-plug-in-gsturidecodebin

Then I tried this:

--8<---cut here---start->8---
> gst-launch-1.0 -v uridecodebin 
> uri=https://old.reddit.com/r/funny/comments/a53e07/finally_redone_correctly/
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0: source = 
"\(GstCurlHttpSrc\)\ source"
ERROR: from element 
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstCurlHttpSrc:source: 
Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): 
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstCurlHttpSrc:source:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
--8<---cut here---end--->8---

Which is precisely what your patch is trying to fix.  Hmm...

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2018-12-20 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> OK, I had time to try your patch.  It does fix the certificate issue indeed, 
> but
> it turns out that it might not be the problem. […]

What plugins do you have?
gst-libav does support x264 IIRC.

-- 
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-20 Thread Pierre Neidhardt
OK, I had time to try your patch.  It does fix the certificate issue indeed, but
it turns out that it might not be the problem.  See:

--8<---cut here---start->8---
> *env GST_DEBUG=2 vimb 
> https://old.reddit.com/r/funny/comments/a53e07/finally_redone_correctly/
GLib-GIO-Message: 11:19:33.864: Using the 'memory' GSettings backend.  Your 
settings will not be saved or shared with other applications.
0:00:00.643276212 21838  0x145ae80 WARNuridecodebin 
gsturidecodebin.c:921:unknown_type_cb: warning: No decoder 
available for type 'video/x-h264, stream-format=(string)byte-stream, 
alignment=(string)nal, parsed=(boolean)true'.
0:00:00.643406496 21838  0x145ae80 WARN   decodebin 
gstdecodebin2.c:4640:gst_decode_bin_expose: error: no suitable 
plugins found:
Missing decoder: H.264 (video/x-h264, stream-format=(string)byte-stream, 
alignment=(string)nal, parsed=(boolean)true)

0:00:00.643445113 21838  0x145ae80 WARNuridecodebin 
gsturidecodebin.c:988:no_more_pads_full: error: no suitable 
plugins found:
gstdecodebin2.c(4640): gst_decode_bin_expose (): 
/GstPlayBin:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: H.264 (video/x-h264, stream-format=(string)byte-stream, 
alignment=(string)nal, parsed=(boolean)true)

0:00:00.655680097 21838 0x7fc568069e30 WARN   queue 
gstqueue.c:1566:gst_queue_loop: error: Internal data stream error.
0:00:00.655701969 21838 0x7fc568069e30 WARN   queue 
gstqueue.c:1566:gst_queue_loop: error: streaming stopped, reason 
not-linked (-1)
0:00:00.655740424 21838 0x7fc568069e30 WARN   adaptivedemux 
gstadaptivedemux.c:876:gst_adaptive_demux_handle_message: 
Source posted error: 3626:1 Internal data stream error. (gstqueue.c(1566): 
gst_queue_loop (): 
/GstPlayBin:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstHLSDemux:hlsdemux0/GstBin:srcbin-src_0/GstQueue:queue2:
streaming stopped, reason not-linked (-1))
0:00:00.655854401 21838 0x7fc568069720 WARN   adaptivedemux 
gstadaptivedemux.c:3818:gst_adaptive_demux_stream_download_loop: 
error: Internal data stream error.
0:00:00.655867008 21838 0x7fc568069720 WARN   adaptivedemux 
gstadaptivedemux.c:3818:gst_adaptive_demux_stream_download_loop: 
error: streaming stopped, reason not-linked (-1)
0:00:00.661742678 21838 0x7fc568069e80 WARN qtdemux 
qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type trep
0:00:00.661760483 21838 0x7fc568069e80 WARN qtdemux 
qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
0:00:00.921014742 21838 0x7fc568069e80 WARNuridecodebin 
gsturidecodebin.c:921:unknown_type_cb: warning: No decoder 
available for type 'video/x-h264, stream-format=(string)avc, 
alignment=(string)au, level=(string)3, profile=(string)main, 
codec_data=(buffer)014d401effe10017674d401eeca1e3f602200300200781e2c5b2c001000468efb2c8,
 width=(int)240, height=(int)240, framerate=(fraction)30/1, 
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, 
parsed=(boolean)true'.
0:00:00.922072199 21838 0x7fc568069e80 WARN   decodebin 
gstdecodebin2.c:4640:gst_decode_bin_expose: error: no suitable 
plugins found:
Missing decoder: H.264 (Main Profile) (video/x-h264, stream-format=(string)avc, 
alignment=(string)au, level=(string)3, profile=(string)main, 
codec_data=(buffer)014d401effe10017674d401eeca1e3f602200300200781e2c5b2c001000468efb2c8,
 width=(int)240, height=(int)240, framerate=(fraction)30/1, 
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, 
parsed=(boolean)true)

0:00:00.922217740 21838 0x7fc568069e80 WARNuridecodebin 
gsturidecodebin.c:988:no_more_pads_full: error: no suitable 
plugins found:
gstdecodebin2.c(4640): gst_decode_bin_expose (): 
/GstPlayBin:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin:decodebin1:
no suitable plugins found:
Missing decoder: H.264 (Main Profile) (video/x-h264, stream-format=(string)avc, 
alignment=(string)au, level=(string)3, profile=(string)main, 
codec_data=(buffer)014d401effe10017674d401eeca1e3f602200300200781e2c5b2c001000468efb2c8,
 width=(int)240, height=(int)240, framerate=(fraction)30/1, 
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, 
chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, 
parsed=(boolean)true)

0:00:00.925297299 21838 0x7fc568069e80 WARN qtdemux 
qtdemux.c:6073:gst_qtdemux_loop: error: Internal data stream error.
0:00:00.925372803 21838 0x7fc568069e80 WARN qtdemux 
qtdemux.c:6073:gst_qtdemux_loop: error: streaming stopped, reason 
not-linked (-1)
0:00:01.227826788 21838  0x11508a0 ERROR

Re: WebKit: Failing to play most HTML5 videos

2018-12-11 Thread Ricardo Wurmus


Ricardo Wurmus  writes:

> Ricardo Wurmus  writes:
>
>> Pierre Neidhardt  writes:
>>
>>> With Epiphany: […]
>>> 0:00:02.444056430  6908   0xdc3320 WARN curlhttpsrc 
>>> gstcurlhttpsrc.c:1068:gst_curl_http_src_handle_response: Curl 
>>> failed the transfer (60): SSL peer certificate or SSH remote key was not OK
>>
>> That’s the same error I got.  It may be worth checking if we can patch
>> gstcurlhttpsrc.c to ensure that the path of the certificate bundle is
>> set via environment variable.
>>
>> A hack to check that this is indeed the cause might be to place the cert
>> bundle in the expected default location that libcurl uses when the
>> client does not specify a location.
>
> Here’s a little patch to confirm that indeed this problem is caused by
> gstcurlhttpsrc.c (of gst-plugins-bad) not configuring libcurl to look
> for certificates in the right place: […]

I should note that gstcurlhttpsrc.c has a mechanism to set the location
of the ca-certificates.crt file:

--8<---cut here---start->8---
  g_object_class_install_property (gobject_class, PROP_SSL_CA_FILE,
  g_param_spec_string ("ssl-ca-file", "SSL CA File",
  "Location of an SSL CA file to use for checking SSL certificates",
  GSTCURL_HANDLE_DEFAULT_CURLOPT_CAINFO,
  G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
--8<---cut here---end--->8---

I just don’t know how we could possibly provide a value for this
property as we don’t call the plugin on the command line.  It would be
nicer, of course, if we could use this mechanism instead of using a
patch similar to what I showed in my previous email.

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-11 Thread Ricardo Wurmus


Ricardo Wurmus  writes:

> Pierre Neidhardt  writes:
>
>> With Epiphany: […]
>> 0:00:02.444056430  6908   0xdc3320 WARN curlhttpsrc 
>> gstcurlhttpsrc.c:1068:gst_curl_http_src_handle_response: Curl 
>> failed the transfer (60): SSL peer certificate or SSH remote key was not OK
>
> That’s the same error I got.  It may be worth checking if we can patch
> gstcurlhttpsrc.c to ensure that the path of the certificate bundle is
> set via environment variable.
>
> A hack to check that this is indeed the cause might be to place the cert
> bundle in the expected default location that libcurl uses when the
> client does not specify a location.

Here’s a little patch to confirm that indeed this problem is caused by
gstcurlhttpsrc.c (of gst-plugins-bad) not configuring libcurl to look
for certificates in the right place:

--8<---cut here---start->8---
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index f43a0fc2f..7a39e6653 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -286,7 +286,15 @@ developers consider to have good quality code and correct 
functionality.")
#:configure-flags
(list (string-append "--with-html-dir="
 (assoc-ref %outputs "doc")
-"/share/gtk-doc/html"
+"/share/gtk-doc/html"))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'foo
+   (lambda _
+ (substitute* "ext/curl/gstcurlhttpsrc.c"
+   (("source->custom_ca_file = NULL;")
+"source->custom_ca_file = 
\"/etc/ssl/certs/ca-certificates.crt\";"))
+ #t)
 (propagated-inputs
  `(("gst-plugins-base" ,gst-plugins-base)))
 (native-inputs
--8<---cut here---end--->8---

With this patch and gst-plugins-bad installed I do see the video when
using this command:

GST_DEBUG=2 eolie 
https://old.reddit.com/r/funny/comments/a53e07/finally_redone_correctly/

Can you confirm this?

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-11 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> With Epiphany: […]
> 0:00:02.444056430  6908   0xdc3320 WARN curlhttpsrc 
> gstcurlhttpsrc.c:1068:gst_curl_http_src_handle_response: Curl 
> failed the transfer (60): SSL peer certificate or SSH remote key was not OK

That’s the same error I got.  It may be worth checking if we can patch
gstcurlhttpsrc.c to ensure that the path of the certificate bundle is
set via environment variable.

A hack to check that this is indeed the cause might be to place the cert
bundle in the expected default location that libcurl uses when the
client does not specify a location.

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-11 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> Leo Famulari  writes:
>> It works for me on Debian if I install (at least) gst-plugins-base and...
>
> Hmm, weird.  Possible explanations I can see:
>
> - It's hardware related.  I have an Intel HD 620, driver i915.
> - Something is not purely functional in the dependency graph.
> - It's kernel related, I am on GuixSD.
>
> It used to work perfectly a few weeks ago.  I'll have to try out the different
> kernel/mesa/gstreamer combinations.  Pfeww, lots of work :(

I don’t think the kernel is at fault.  This is usually a problem with
gstreamer only.  Do not forget about environment variables.

I’d suggest looking for gstreamer debugging options and tracing the
discovery of plugins specifically.

I’m seeing the same behaviour in epiphany (and eolie), both webkit
browsers.  I have these gstreamer packages installed:

gst-plugins-good1.14.3  out 
/gnu/store/ar5i930rzx6gx0fllxlj7v0di8av98dn-gst-plugins-good-1.14.3
gst-plugins-ugly1.14.3  out 
/gnu/store/7w2bqvdnylh4y87m6r40k644pxd17g3x-gst-plugins-ugly-1.14.3
gst-plugins-bad 1.14.3  out 
/gnu/store/x8m0kdj9x6smm6ybwd3rzkcpqw809pim-gst-plugins-bad-1.14.3
gst-plugins-base1.14.3  out 
/gnu/store/hyjjxxc2q5sfhkmm9iq3g34afm21b62v-gst-plugins-base-1.14.3

I used to also have gst-libav, which made a lot of things work better at
a time.

Relevant environment variables:


GST_PLUGIN_SYSTEM_PATH=/home/rekado/.guix-profile/lib/gstreamer-1.0:/run/current-system/profile/lib/gstreamer-1.0
GST_PLUGIN_PATH=/home/rekado/.guix-profile/lib/gstreamer-1.0

--
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-11 Thread Ricardo Wurmus


Pierre Neidhardt  writes:

> Hey,
>
> since a general update a week ago or so, it seems that I'm unable to
> play most HTML5 videos.  Youtube works.
> imdb.com fails, and so do most other websites with a similar error.
>
> Did something broke with gstreamer / gst-plugins?

Here’s what I tried:

--8<---cut here---start->8---
$ GST_DEBUG=2 eolie 
https://old.reddit.com/r/funny/comments/a53e07/finally_redone_correctly/
[INFO] 2018-12-11 09:11:25 You need to set MOZ_PLUGIN_PATH to use plugins
0:00:08.868869189  6188  0x126cf20 WARN qtdemux 
qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type trep
0:00:08.868943452  6188  0x126cf20 WARN qtdemux 
qtdemux_types.c:233:qtdemux_type_get: unknown QuickTime node type pasp
0:00:09.618668035  6188 0x7fc9a814e5e0 WARN curlhttpsrc 
gstcurlhttpsrc.c:1068:gst_curl_http_src_handle_response: Curl 
failed the transfer (60): SSL peer certificate or SSH remote key was not OK
0:00:09.618810492  6188 0x7fc9a814e5e0 WARN basesrc 
gstbasesrc.c:3055:gst_base_src_loop: error: Internal data stream 
error.
0:00:09.618871820  6188 0x7fc9a814e5e0 WARN basesrc 
gstbasesrc.c:3055:gst_base_src_loop: error: streaming stopped, 
reason error (-5)
0:00:09.619011634  6188 0x7fc9a814e5e0 WARN   uridownloader 
gsturidownloader.c:242:gst_uri_downloader_bus_handler: Received 
error: Internal data stream error. from curlhttpsrc0, the download will be 
cancelled
0:00:09.619497097  6188  0x1205f70 WARNhlsdemux 
gsthlsdemux.c:655:gst_hls_demux_process_manifest: error: Could not 
fetch media playlist: Internal data stream error.: gstbasesrc.c(3055): 
gst_base_src_loop (): /GstCurlHttpSrc:curlhttpsrc0:
streaming stopped, reason error (-5)

0:00:09.619593010  6188  0x1205f70 WARN   adaptivedemux 
gstadaptivedemux.c:677:gst_adaptive_demux_sink_event: error: Invalid 
manifest.
0:00:09.746622376  6188   0xf9c830 ERROR  webkitmediaplayer 
MediaPlayerPrivateGStreamer.cpp:1180:handleMessage: Error 1: GStreamer 
encountered a general stream error. 
(url=webkit+https://v.redd.it/htlleai2qk321/HLSPlaylist.m3u8)
--8<---cut here---end--->8---

This is a good hint: “Curl failed the transfer (60): SSL peer
certificate or SSH remote key was not OK”.  Gstreamer probably uses
libcurl, which does not honour any environment variables by default.  We
may have to patch this to allow users to override the location of the
cert bundle.

-- 
Ricardo




Re: WebKit: Failing to play most HTML5 videos

2018-12-10 Thread swedebugia
On 2018-12-09 13:21, Pierre Neidhardt wrote:
> Leo Famulari  writes:
>> It works for me on Debian if I install (at least) gst-plugins-base and...
> 
> Hmm, weird.  Possible explanations I can see:
> 
> - It's hardware related.  I have an Intel HD 620, driver i915.
I really doubt that. I just changed from a o686 to a x86_64 machine with
different hardware and it is exactly the same issue.
When it plays it is lacky, glitchy. On parabola/antergos on the same
machine it plays smoothly (so not HW issue).

> - Something is not purely functional in the dependency graph.
> - It's kernel related, I am on GuixSD.
> 
> It used to work perfectly a few weeks ago.  I'll have to try out the different
> kernel/mesa/gstreamer combinations.  Pfeww, lots of work :(

Good luck hunting :)

-- 
Cheers 
Swedebugia



Re: WebKit: Failing to play most HTML5 videos

2018-12-09 Thread Pierre Neidhardt

Leo Famulari  writes:
> It works for me on Debian if I install (at least) gst-plugins-base and...

Hmm, weird.  Possible explanations I can see:

- It's hardware related.  I have an Intel HD 620, driver i915.
- Something is not purely functional in the dependency graph.
- It's kernel related, I am on GuixSD.

It used to work perfectly a few weeks ago.  I'll have to try out the different
kernel/mesa/gstreamer combinations.  Pfeww, lots of work :(

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2018-12-08 Thread Leo Famulari
On Sat, Dec 08, 2018 at 01:30:46PM +0100, Pierre Neidhardt wrote:
> Hey,
> 
> since a general update a week ago or so, it seems that I'm unable to
> play most HTML5 videos.  Youtube works.
> imdb.com fails, and so do most other websites with a similar error.
> 
> Did something broke with gstreamer / gst-plugins?

It works for me on Debian if I install (at least) gst-plugins-base and
gst-plugins-good. gst-plugins-base is already in the graph of epiphany,
but epiphany does not keep a store reference to it.

I think the browser should support these videos "out of the box".


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2018-12-08 Thread Pierre Neidhardt
I got Youtube to work with Vimb when gst-libav is installed.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


Re: WebKit: Failing to play most HTML5 videos

2018-12-08 Thread swedebugia
On 2018-12-08 13:39, Pierre Neidhardt wrote:
> Forgot to mention: I've tested with Epiphany, Vimb and Next browser, with
> similar results.

I tested with Next and epiphany. All sites fail here. svtplay.se and
youtube.com tested.

-- 
Cheers 
Swedebugia



Re: WebKit: Failing to play most HTML5 videos

2018-12-08 Thread Pierre Neidhardt
Forgot to mention: I've tested with Epiphany, Vimb and Next browser, with
similar results.

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature