GStreamer

Revision 1 as of 2025-09-01 09:09:09

Clear message

Test Plan for GStreamer

Video Codecs

Find/utilize some test content for each codec. Fluster is one reliable source of test content. The more the better. Running thumbnailing software is often a quick check.

For each file, play it with the default media player and ensure it looks "ok". Also play it with GST_DEBUG=*:1 gst-play-1.0 and ensure nothing bad happens.

Some codecs will require modifications to a clean install. Such cases will be highlighted below.

Hardware configuration entails the set of tests to perform. Decide now if you are on testing Intel, AMD, NVIDIA.

VP8

Try vp8_variable_resolution.webm

This is a very weird file, but it should play for a few seconds, and show frames of varying resolutions. There should be a women with slider bars next to her visible.

As a royalty free codec, VP8 test files should play on a fresh installation.

AV1

At the time of writing, AV1 decoders are still being shipped only in the -bad plugin set. This should be fixed since there's no reason not to support AV1 out of the box.

Open Schiddler7.mkv-aom-q-28-1920-1080-P3.mkv in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.

Rationale: AV1 aligns well with Ubuntu philosophy, we should support that as standard. The input files cover the majority of AV1 coding tools, especially film grain. Decoder see (see Fluster below) cover more.

H.264

Open Big_Buck_Bunny_720_10s_30MB.mp4 in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.

- Ensure the files plays out correctly for the 10 seconds - Run whatever is the default media player from the CLI. Ensure no

  • warnings / errors are printed

Rationale: H.264 is ubiquitous. It must be default available or very easily installable for UX.

See: https://bugs.launchpad.net/ubuntu/+source/totem/+bug/2121434

H.265

Open 4K HEVC 59.940 Broadcast Capture Sample.mkv in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.

Rationale: H.265 is also very popular, but very patent encumbered.

Hardware acceleration

Intel/AMD,

gst-launch-1.0 filesrc location=h264_high_yuv420p_720p.mp4 ! qtdemux ! h264parse ! vah264dec ! videoconvert ! autovideosink

gst-launch-1.0 filesrc location='4K HEVC 59.940 Broadcast Capture Sample.mkv' ! matroskademux ! h265parse ! vah265dec ! videoconvert ! autovideosink

NVIDIA,

gst-launch-1.0 filesrc location='4K HEVC 59.940 Broadcast Capture Sample.mkv' ! matroskademux ! h265parse ! vdpauh265dec ! vdpauvideopostprocess ! autovideosink

Intel,

gst-launch-1.0 filesrc location=h265_Main10_yuv420p10le_4K.mkv ! matroskademux ! h265parse ! msdkh265dec ! videoconvert ! autovideosink

TODO: Vulkan

Fluster

Fluster is a decoder conformance test-suite. At the time of writing, the full test database requires 14GB of space and takes many hours to run. Due to driver instability, there will also be many crashes, meaning automation is very challenging.

Instead, a cut-down version of the test-suite is prepared. Run the following script and ensure nothing catches fire.