IceCat-68.x lacks support for some codecs including H264/MP4

DoneSubmitted by Raghav Gururajan.
Details
4 participants
  • Chris Marusich
  • Christopher Lemmer Webber
  • Mark H Weaver
  • Raghav Gururajan
Owner
unassigned
Severity
important
R
R
Raghav Gururajan wrote on 3 Nov 2019 17:33
Video Rendering Issues on IceCat
8aeda3327ffd9a6fe83204486edc25e97ef14d03.camel@disroot.org
Hello Guix and GNUzilla!

I am currently using IceCat (68.2.0-guix0-preview3) on Guix System.

Starting from version 68.X.X, I started to face issues with playing
videos online. This happens on most of the websites (not all though).

I get any of these following errors:
1) No compatible source was found for this media.
2) Your browser does not support the playback of this video. Please try
using a different browser.
3) Error loading player: No playable sources found.

I thought issues could be due to any of the add-ons I am using. But I
was able to reproduce these errors by running Icecat on safe-mode (i.e.
with all add-ons disabled).

Regards,
RG.
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEamFiplxUWgy2NgJiorDiYAVcMdsFAl2/AVMACgkQorDiYAVc
MdvR+AgAnGY2z549NMw3Irn+6dAvW4d0RluaNZb6jLB8lZC6yw8/QxF9MknxJs2D
C5bu0+EAW5O3iQXlkTwYZSFRTYCTyEZAqMyNLm77ILYtlBj2UFoNk0TjHZO08bdq
WUeiFqR3QFgdkhFqQqyoRVCFk/4Dif+cV0ajwkhZIreU2Z9WDdxHwOpIV17Bd8QU
lDc0D13TUFqEC8JHYaEm5/Ar8RjWqGytp6jqFYNGIqIRCY575rjhHhCDJhLC9mYV
kcAZo16I1qWEc7sZob3KwAKYDFqV+E1modJrYQrgV3/LKruAsw4p/R6b7ej4jnwd
QJRd7FIwPFXm2p85X9b8dSdSyu3gUg==
=OsO3
-----END PGP SIGNATURE-----


R
R
Raghav Gururajan wrote on 3 Nov 2019 17:48
severity 38045 important
(address . control@debbugs.gnu.org)
fbc6560510b45890e5f0921995a9321f59784d04.camel@disroot.org
severity 38045 important
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEamFiplxUWgy2NgJiorDiYAVcMdsFAl2/BMoACgkQorDiYAVc
Mdu/Vwf/SRm3RWuGa//VEEbUdaLMcNE+No+kvCIExZ2fExEzzOjfJJUzR9ndCv9K
R7U/iJMIN6A5etypfYqh1ctfoWDN++jD2vh8pZXTCWAOb5voWv76HwNmz4svhgNR
mxoZ3/zfcFEycsFoxzg6uP9rinDWhixovMegnVoVxp5ftDnKp6+z2t1TaI7tiIUe
Y2f0IiTonjzyAz6vbxkVGnO6eLH1kwfVwPu01QN6zHfXX5ebx5jhRQLbkhtb45mO
oeENleoFJjkuOK7Ey2GXPG5D+g8FlZocObov+2IrjPYsZWXBNcXCpqTWg8/GcFaH
IQDx/xZrOSP9lERQ4w37CZRCEY29fQ==
=OT09
-----END PGP SIGNATURE-----


C
C
Christopher Lemmer Webber wrote on 3 Nov 2019 23:37
Re: bug#38045: Video Rendering Issues on IceCat
(address . bug-guix@gnu.org)
87ftj44mdo.fsf@dustycloud.org
Raghav Gururajan writes:

Toggle quote (20 lines)
> Hello Guix and GNUzilla!
>
> I am currently using IceCat (68.2.0-guix0-preview3) on Guix System.
>
> Starting from version 68.X.X, I started to face issues with playing
> videos online. This happens on most of the websites (not all though).
>
> I get any of these following errors:
> 1) No compatible source was found for this media.
> 2) Your browser does not support the playback of this video. Please try
> using a different browser.
> 3) Error loading player: No playable sources found.
>
> I thought issues could be due to any of the add-ons I am using. But I
> was able to reproduce these errors by running Icecat on safe-mode (i.e.
> with all add-ons disabled).
>
> Regards,
> RG.

I've had these issues as well, fwiw.
C
C
Chris Marusich wrote on 4 Nov 2019 01:41
Re: Video Rendering Issues on IceCat
(name . Raghav Gururajan)(address . raghavgururajan@disroot.org)
87blts4gmv.fsf@gmail.com
Hi Raghav,

Are you actively working on this bug? If you are not, then as a matter
of etiquette, I think it would be best not to change its severity.

Raghav Gururajan <raghavgururajan@disroot.org> writes:

Toggle quote (17 lines)
> Hello Guix and GNUzilla!
>
> I am currently using IceCat (68.2.0-guix0-preview3) on Guix System.
>
> Starting from version 68.X.X, I started to face issues with playing
> videos online. This happens on most of the websites (not all though).
>
> I get any of these following errors:
> 1) No compatible source was found for this media.
> 2) Your browser does not support the playback of this video. Please try
> using a different browser.
> 3) Error loading player: No playable sources found.
>
> I thought issues could be due to any of the add-ons I am using. But I
> was able to reproduce these errors by running Icecat on safe-mode (i.e.
> with all add-ons disabled).

Can you provide specific example URLs that do not work?

Did you try installing the gst-plugins-* packages? I observed similar
behavior in the past. I believe I resolved it by installing the right
gst-plugins-* packages, which is probably one of these:

gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly

You might also have to adjust some settings in about:config. I can't
remember if I did that or not. Video in IceCat generally works, but
depending on the video you might need to jump through some extra hoops
to make it happen.

--
Chris
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl2/c8kACgkQ3UCaFdgi
Rp1X7xAAkGJoffe+i0uioZ2CRrrFAaPzJt/MVWTusAkkPPyQmd/meGdwcc6VttZ3
F5VsdYJLqql8FKE7tXaPhMDKRazKvoyKnyfO76Csr19O48j9i8pwtXwkBccAH6WM
dwQJ3M28r9xrSv2hL1UOIflWzRK6vnjyT7kyFqw/ji7Mdn7FjNRN/8lsJVGaN6zy
bbdc1w42mhb5QH1Wk9WxkIeyBbTZ/QfwaM0E6uwvVVm8LaOKBkLsLSwmhpQyZj/H
SHrWxXJNqlB7hSd2mZPulVE+GXb+yFAhpw7b37soZ8vK/WzQUaBDDS9vzDEHCeGm
cgRjagE/RYclUNxZqbdQ/L1pl/YcpWMw30DSDjfN6A+jTmWrH2MECoLdIWCtsABx
pcb3FzCPLDDrlWcco4UkxiflgQeioglrxZLck+Rqxcnvr5wAfOvxpWJyW2bMA3O8
8U5ZHRC4P1KhCbWrYnQr6BCtR7E81XuTkpxP5kMGM74RIqrcUAdoGJMmhPSJNA6l
+qVhzRGwC8t2ETnIpFQV56VRl1P3f7u1OyuzUwc8V3xq6GsgtNE8scwth9RC26yL
lLXZUAqH4DG/sTgWx73ZOQ5z3WU4J/Dk6JfL0EtDc4tDAafbIle/QQ8kdUnjNhIo
GQvSwQi/lKn5jEU8Fy3EB9hsii1/3Far55HKC474R2ByvNYsdg0=
=O+SO
-----END PGP SIGNATURE-----

R
R
Raghav Gururajan wrote on 4 Nov 2019 14:02
(name . Chris Marusich)(address . cmmarusich@gmail.com)
973472324a8a0c24073a9f7106bff044@disroot.org
Hi Chris!

Toggle quote (4 lines)
> Are you actively working on this bug? If you are not, then as a
> matter
> of etiquette, I think it would be best not to change its severity.

I am not. Sorry about that. I read the control-debbugs help page and it
mentions that criteria for 'important' is unusablity of the program. So
I presumed that anyone can change the serverity level. No worries,
moving forward, I refrain from changing it. :-)

Toggle quote (2 lines)
> Can you provide specific example URLs that do not work?

Toggle quote (11 lines)
> Did you try installing the gst-plugins-* packages? I observed
> similar
> behavior in the past. I believe I resolved it by installing the
> right
> gst-plugins-* packages, which is probably one of these:
>
> gst-plugins-base
> gst-plugins-good
> gst-plugins-bad
> gst-plugins-ugly

Yes, I have them installed.

Toggle quote (6 lines)
> You might also have to adjust some settings in about:config. I can't
> remember if I did that or not. Video in IceCat generally works, but
> depending on the video you might need to jump through some extra
> hoops
> to make it happen.

I see. It was just weird that this is issue started after the upgrade.
Before that, all was fine.

Regards,
RG.
M
M
Mark H Weaver wrote on 4 Nov 2019 17:25
(name . Raghav Gururajan)(address . raghavgururajan@disroot.org)
874kzjmww2.fsf@netris.org
Hi,

Raghav Gururajan <raghavgururajan@disroot.org> wrote:
Toggle quote (3 lines)
> It was just weird that this is issue started after the upgrade.
> Before that, all was fine.

I have a hypothesis of what might have happened here.

Since the upgrade to version 68, the IceCat package in GNU Guix is no
longer using our system ffmpeg. Although ffmpeg is listed in the
'inputs', "guix gc --references $(guix build icecat)" shows that the
built package does not reference it. It must be using the bundled copy
of ffmpeg instead.

Prior to the upgrade to version 68, the IceCat package in Guix
referenced the system ffmpeg library, and that fact was reflected in the
output of "guix gc --references".

Possibly related: I noticed while debugging this upgrade that the
'link-libxul-with-libraries' phase no longer seems to be doing its job.
That's why I needed to add pulseaudio's lib directory to LD_LIBRARY_PATH
in the 'wrap-program' phase.

I would be grateful for help debugging these issues. I'm very heavily
overloaded with other tasks at present, and it may be a few weeks before
I can look into this specific bug.

Incidentally, I agree that 'important' is an appropriate severity level
for this bug.

Regards,
Mark
M
M
Mark H Weaver wrote on 4 Nov 2019 17:36
(name . Raghav Gururajan)(address . raghavgururajan@disroot.org)
87zhhblhsc.fsf@netris.org
Earlier, I wrote:
Toggle quote (5 lines)
> I have a hypothesis of what might have happened here.
>
> Since the upgrade to version 68, the IceCat package in GNU Guix is no
> longer using our system ffmpeg.

Sorry, I forgot to mention why I think this might be relevant. The
reason is because upstream Firefox adopts the approach of downloading
certain codecs in pre-compiled form, to avoid certain patent concerns.
That's not necessary when using Guix's system ffmpeg library, but maybe
Mozilla rigged the bundled ffmpeg library to avoid including support for
those codecs.

Mark
M
M
Mark H Weaver wrote on 13 Nov 2019 17:36
Re: bug#38190: Icecat 68.2.0-guix0-preview3 does not play H264/MP4
(name . Jelle Licht)(address . jlicht@fsfe.org)
87lfsjd96r.fsf@netris.org
close 38190
retitle 38045 IceCat-68.x lacks support for some codecs including H264/MP4
thanks

Hi Jelle,

Jelle Licht <jlicht@fsfe.org> writes:

Toggle quote (9 lines)
> On latest master, with the following icecat package:
> icecat 68.2.0-guix0-preview3 out /gnu/store/zqzhirykpqhay8n768aqqg4xplrmpfwz-icecat-68.2.0-guix0-preview3
>
> On the console (via <f12>) I find the following message on websites with
> embedded videos:
>
> The video on this page can’t be played. Your system may not have the
> required video codecs for: video/mp4; codecs="avc1.42E01E mp4a.40.2

I believe this is the same issue reported in
https://bugs.gnu.org/38045, so I'm closing this new bug as a
duplicate.

My best guess is here:

Thanks,
Mark
M
M
Mark H Weaver wrote on 16 Jan 2020 07:24
Re: IceCat: some codecs don't work without workaround
(name . Jakub Kądziołka)(address . kuba@kadziolka.net)
87pnfj7waa.fsf@netris.org
Hi Jakub,

Jakub Kądziołka <kuba@kadziolka.net> wrote:
Toggle quote (21 lines)
> I had some problems with video codecs in IceCat 68.3.0-guix0-preview1.
> For example, consider this page: http://demo.nimius.net/video_test/. By
> default, the videos under the headings H.264 / AAC and MPEG4 don't work
> ("No video with supported format and MIME type found.").
>
> The following steps make the first of these videos work:
> 1. Open about:config
> 2. Click "I accept the risk!"
> 3. Set security.sandbox.content.read_path_whitelist to /gnu/store/
> (the trailing / is important).
>
> The instructions were originally sketched out in this help-guix
> message:
> https://lists.gnu.org/archive/html/help-guix/2019-12/msg00150.html
>
> I believe it would be beneficial to make this a default.
>
> On IRC, bandali suggested that it would be better to only whitelist the
> necessary store subdirectories. I don't know how to gather such a list,
> but it it seems like a good idea.

Thank you for bringing this to my attention. I agree with Amin Bandali
that a more precise whitelist is preferable. Moreover, I was not
comfortable whitelisting all of /gnu/store.

I'm glad to report that it appears to be sufficient to whitelist the
RUNPATH of libavcodec.so, plus the /share/mime/ directory from
shared-mime-info. I've implemented this in commit
429c8284d232c3f9fbe3dc87a3da323f3a864c03 and pushed it to 'master'.

Toggle quote (4 lines)
> I don't know how about:config entries modified by the user behave when
> IceCat is updated, but in some of the behaviors I can imagine, the
> config entry stops updating,

As currently implemented, we now arrange to set the *default* value of
'security.sandbox.content.read_path_whitelist' to an appropriate
whitelist.

Users who have customized 'security.sandbox.content.read_path_whitelist'
to work around this issue should now erase that customization, by
right-clicking on its entry in <about:config>, and clicking on "Reset".
It might also be necessary to restart IceCat after doing so.

Toggle quote (4 lines)
> in which case it would be better to add the paths to some internal
> whitelist (I reckon such a whitelist already exists and contains
> something like /usr/lib).

I agree that it would be preferable, but I wasn't sufficiently motivated
to implement it. Feel free to propose a patch. I'm not sure it would
make much of a difference in practice though, because the net result for
anyone who has customized it to /gnu/store/ will be the same: until they
reset their customization, their effective whitelist will be all of
/gnu/store/*.

What do you think?

Anyway, thanks to everyone who contributed to this fix! I'm closing
both the older bug (38045) and the more recent duplicate (38831), but
feel free to reopen if appropriate.

Mark
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 38045@debbugs.gnu.org