HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
GStreamer
gst-plugins-good
C2020–2026
GStreamer / gst-plugins-good

gst-plugins-good

'Good' GStreamer plugins and helper libraries. This module has been merged into the main GStreamer repo for further development.

2Distinct people
2Mentions
0Explicit recommenders
166GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

'Good' GStreamer plugins and helper libraries. This module has been merged into the main GStreamer repo for further development.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year2 dated mentions

Observed mentions: 2020-11-11 09:53:06 UTC to 2026-01-30 02:41:03 UTC.

012020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

2 sources
C sounds nice if your task is simple enough, or at least if you can decompose this to a series of loosely-connected simple-enough tasks. But sometimes, there is an inherent complexity in what you are trying to implement, then C becomes way, way complex than C++. You build stuff, and there is so many manual steps, and none of them must be missing, or things will subtly break. A good example is "gstreamer", the multimedia streaming framework. It is implemented in pure C. It needs to use basic data structures, so it uses GLib. It also need to support runtime-defined connection graph, so it is built on top of GObject. Yes, build times are amazingly fast. But you pay for it - look at something simple, like display_name property[0]. There is display_name member, and PROP_DISPLAY_NAME enum, and switch case in setter (don't forget to free previou
Read the rest
s value!) , and switch case in getter, and it's manually installed in class_init, and you need to manually free it in dispose (except they forgot this). So many places just for a single property, something that would have been 1 or 2 lines in a well-structured C++ app. And unlike C++, you cannot make simple rules like "never use char* except for 3rd party libs" - it's all those multi-point checklists which are not even written down. A [0] https://github.com/GStreamer/gst-plugins-good/blob/master/sy...
In Why I Always End Up Going Back to C
I've worked on a couple of d-pad only uis using QtQuick, Including for a set top box. Gstreamer's qmlglsink works quite well with zero copy video playback. So CPU usage sits at 5-10% for a nice UI overlaid on top of a 1080p video stream on an embedded system. There are other third-party qt wrappers for gstreamer, but we didn't feel the need for it. Some were outdated too. https://github.com/GStreamer/gst-plugins-good/tree/master/te... Those examples show how to do basic video playback using gstreamer. The key navigation really isn't that difficult either: https://doc.qt.io/qt-5/qtquick-input-focus.html Just build your UI with a PageStack of Pages consisting of ListViews and GridViews, and that takes care of 90% of your navigation issues without you having to do anything. For eg. * filesystem explorer: ListView * playback controls: GridVie
Read the rest
w Video Player Page: filesystem explorer + playback controls + video item and the page determines which item should get keyboard focus, based on certain actions/conditions. So far, the main pain point was licensing. Some of the very useful qt quick components (like layouts for one) are licensed under LGPL v3, so you have to be careful if you're including then in your system - because then you'd have to provide a way for the user to swap out qt libraries or have to go for the commercial version. Another pain point was CI. We had to manually build our own container with the Qt version we needed. The situation for CI improved recently i think.
In Qt 6.0 Beta 4 Released

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.