Massive, unexplained codec issues (?), but only with certain sites

Hello all!

I’m having what i’m guessing to be a codec issue. If I try and play YouTube, anything can result in the video breaking and presenting me an error message; pausing too much, scrolling ahead or back, skipping an ad, even playing a video normally.

I’ve tried restarting, disabling and enabling hardware acceleration in Firefox, using different browsers, trying X11 and Wayland, updates, and even re-installing OpenSuSE Tumbleweed. Additionally, i’ve used Firefox extensions and settings to force H.264, VP9, and AV1 playback. Nothing has fixed it so far.

The issue is less severe when a browser or OS is re-installed, but still exists, and gets continually worse the longer time goes on after a browser or OS is reinstalled. It affects certain YouTube channels more than others, or sometimes doesn’t happen at all. And even more baffling, some videos break permanently on Firefox at random, never playable without a complete browser reinstall.

This issue is present on the amazon website as well, with video corruption errors when I attempt to play product demonstrations on Firefox. Amazon however has been barely tested on other browsers, and seemed to work on others when it was tested.

Playing videos locally on VLC or mpv work entirely fine, and other websites work fine as well. Only Youtube and Amazon are affected.

Here are the browsers i’ve tried, and their associated results:


  • Konqueror makes the issue more occasional, and the issue gets worse much slower than other browsers. However, Konqueror has the unique issue of some entire channels being unplayable, which does not happen on other browsers.

  • Firefox breaks as described in the beginning of the post, and gets worse quickly over time.

  • I’ve tried GNOME Web/Epiphany, but instead of videos breaking, Epiphany skips frames to a point YouTube is unwatchable.

  • Vivaldi and other Chromium based browsers do work for now, but will randomly occasionally freeze YouTube videos with no error code. And on Vivaldi, one time a YouTube tab even crashed so bad the browser didn’t recognize the crash.


I have no idea where to troubleshoot from here, if anybody can help me with this it would be greatly appreciated. Here are my system specs:

  • i3-1115G4 [3.0 Ghz]
  • 16 GB DDR4 SODIMM [2x8, running at 2666 Mhz]
  • 256 GB NVME SSD
  • Intel(R) UHD Graphics (TGL GT2)
  • Realtek ALC236
  • OpenSuSE Tumbleweed [KDE Plasma 6 version]

Forgot to attach this to the intial post! Oops.

II did not read the whole long story, but searched it for the string Packman. Did not find it.

You know that openSUSE , for legal reason, can not provide restricted codecs? You can find a solution in the Packman repository ad apply that when you think you are allowed to do so. When you have never heard of this (very, very strange, as it is mentioned many times here on the forums, in the SDB, etc., etc.):
https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories

https://en.opensuse.org/Additional_package_repositories

Post

zypper lr -d

Youtube uses VP9 or AV1 mostly (and open Opus audio codec), AVC is a rare thing nowadays. So, this can be some other isuue.

Do you have intel-media-driver installed (specifically that; not the more-free libva one)? TGL very likely is only supported on newer stuff.

Firefox also needs EGL for VAAPI acceleration through ffmpeg; that works Xorg and Wayland. If you’re on Xorg and forcing Intel’s DDX driver (not modesetting), that causes Firefox to enforce a driver blacklist which disables media acceleration. So ideally, you need to either be using Wayland, or Xorg with modesetting DDX. Alternatively gfx.webrender.all at true might workaround any blocklists.

Firefox’s about:support needs to also show Compositing: WebRender (not Software) and EGL being used (not forced-GLX).


Generally speaking that only covers hardware-acceleration; I’d expect software acceleration even if forced somewhere to work fine without codecs, so perhaps Firefox is trying to use HW-accel, fails somewhere, and then media played through Firefox fails because of Firefox failing.

#  | Alias                                | Name                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                          | Service
---+--------------------------------------+-------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------------+--------
 1 | 1password                            | "1Password Stable Cha-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://downloads.1password.com/linux/rpm/stable/x86_64                                      | 
 2 | https-download.opensuse.org-c1effed8 | openSUSE:Factory        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/tumbleweed/repo/oss/                                           | 
 3 | microsoft-edge                       | microsoft-edge          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://packages.microsoft.com/yumrepos/edge/                                                | 
 4 | openSUSE-20240716-0                  | openSUSE-20240716-0     | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/usb-Kingston_DataTraveler_3.0_60A44C3FACCEE271896A04AF-0:0-part2 | 
 5 | packman                              | packman                 | Yes     | (r ) Yes  | Yes     |   90     | rpm-md | https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/                         | 
 6 | repo-debug                           | openSUSE-Tumbleweed-D-> | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/debug/tumbleweed/repo/oss/                                      | 
 7 | repo-non-oss                         | openSUSE-Tumbleweed-N-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/tumbleweed/repo/non-oss/                                        | 
 8 | repo-openh264                        | Open H.264 Codec (ope-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed                                      | 
 9 | repo-oss                             | openSUSE-Tumbleweed-Oss | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/                                            | 
10 | repo-source                          | openSUSE-Tumbleweed-S-> | No      | ----      | ----    |   99     | N/A    | http://download.opensuse.org/source/tumbleweed/repo/oss/                                     | 
11 | repo-update                          | openSUSE-Tumbleweed-U-> | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/tumbleweed/                                              | 
12 | vivaldi                              | vivaldi                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://repo.vivaldi.com/archive/rpm/x86_64

Edit by Sauerland:
Please use Code-Tags:
Code-Tags

Dear Espionage:

  1. I was not aware the intel-media package existed (oops!) I’ll give that a shot.

  2. The issue occurs on both X11/Xorg and Wayland, with equal frequency. Considering I don’t even know what a DDX or modesetting graphics driver is, I doubt i’m forcing the wrong driver. (Unless DDX non-modesetting is default, then oops on me.)

  3. Firefox does show “WebRender” under Compositing. Did not mention EGL, software, or GLX? But interestingly, this picture might show different?

For the output of command like “zypper -l -d” please use performatted text format (Ctrl-e or the </> button) and please include the command, for example:

> cat /etc/os-release | head -n 3
NAME="openSUSE Tumbleweed"
# VERSION="20241001"
ID="opensuse-tumbleweed"

Can you start firefox using a new profile to see if it is related to the profile? From the command line:

firefox --ProfileManager

I would also like to see a firefox log but I tried enabling it via “about:logging”, it works with the default “timestamp,sync,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5,EarlyHint:5” but tried “all:5” and that did not give me any output. Not sure what to enable for the problem you are experiencing.

Oops on the code-tags! Will note for the future.

I tried using the console command you suggested. I’ve not tested extensively yet, but a permanently broken video on my previous profile worked on the new one. Skipped and paused a few videos to see if they have playback errors, none so far.

This may be a fix, or just a temporary fluke as the issue has gotten worse over time in the past. Need to test more on this.

firefox --ProfileManager

1 Like

I’ve noticed something interesting. When I use the profilemanager command with logging enabled on the broken Firefox profile, this error showed in a loop:

[Child 263719, MediaDecoderStateMachine #21] WARNING: Decoder=7f97a51f2300 Decode error: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004) - virtual mozilla::MediaResult mozilla::FFmpegVideoDecoder<61>::DoDecode(mozilla::MediaRawData*, uint8_t*, int, bool*, mozilla::MediaDataDecoder::DecodedData&): avcodec_send_packet error: Unknown error occurred: file /home/abuild/rpmbuild/BUILD/firefox-129.0.1/dom/media/MediaDecoderStateMachineBase.cpp:167
[Child 263719, MediaDecoderStateMachine #21] WARNING: Decoder=7f97a5140a00 Decode error: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004) - virtual mozilla::MediaResult mozilla::FFmpegVideoDecoder<61>::DoDecode(mozilla::MediaRawData*, uint8_t*, int, bool*, mozilla::MediaDataDecoder::DecodedData&): avcodec_send_packet error: Unknown error occurred: file /home/abuild/rpmbuild/BUILD/firefox-129.0.1/dom/media/MediaDecoderStateMachineBase.cpp:167
[Child 263719, MediaDecoderStateMachine #21] WARNING: Decoder=7f97ba08f600 Decode error: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004) - virtual mozilla::MediaResult mozilla::FFmpegVideoDecoder<61>::DoDecode(mozilla::MediaRawData*, uint8_t*, int, bool*, mozilla::MediaDataDecoder::DecodedData&): avcodec_send_packet error: Unknown error occurred: file /home/abuild/rpmbuild/BUILD/firefox-129.0.1/dom/media/MediaDecoderStateMachineBase.cpp:167

The new profile is also starting to break on playback, and have the same issues; so I don’t think it’s a solely profile-related issue.

Same error as reported here 4 years ago:

Not sure where is the problem, it might have to do something with the GPU.

That explains why I have the resolution switches, so that’s one part of the problem solved. :slight_smile: Doesn’t quite explain total playback breakage to me.

Other websites video playback, rather oddly, works entirely fine as well, as do local media players (vlc, mpv). And Chromium based browsers work mostly fine with playback as well, and gpu-heavy video games run okay. So it’s probably not a damaged GPU?

Apparently you are still on Firefox 129. Current Tumbleweed is at 131.0.
Worth upgrading?

Don’t see a reason not to, since you mention it. I’ll let a system update run in the morning.

If chromium based driver only once show the same/similar problem I would say it is not a Firefox problem.

Would be good if you find a way to make this reproducible, that makes debugging easier.

I don’t immediately think it is a damage GPU, more likely it is some driver bug or not blaming the driver immediately, the hardware reacting different then the driver expects and the driver not handling that okay.