Video Player (Showtime) is looking for a maintainer

I cannot give the project the attention that it deserves at this time. I will continue to fix any critical bugs and make releases against new SDK versions for the time being.

Help is needed mainly when it comes to triaging the issue tracker and tackling some of the most-requested features, some of which have open merge requests by contributors, but they still need a lot of work and consultation with the Design Team.

The project’s structure is relatively simple and works quite well (although MPRIS needs some love). Nothing is too complex or over-abstracted, and it follows most Python best practices, although people always disagree on what those are :slight_smile:

I would be more than happy to help onboard someone when it comes to the specifics.

I have a bit more free time these days and I’m mildly familiar with gstreamer, is there a good first issue I could try to tackle to get a good idea of the project structure?

In case it helps, this ticket from @mm_gnome identified some areas where the developer experience could be improved, and had some answers about how to get involved.

A problem with Showtime (and almost any video player project), according to my triaging experience (and my previous experience with Pitivi), is that unlike some other projects where a significant portion of issues can be tagged “Newcomers”, in Showtime it’s 90% either:

  • “I want new feature XYZ” (and then in half of those cases it’s a “needs design team input” situation, or it’s unclear whether it should actually be considered in-scope), or;

  • It’s a bug due to broken GPU drivers (especially from nVidia users), bugs in GStreamer (which should be reported in GStreamer), or some missing codecs packaging issue (I think some help would be needed to improve the flatpak package, in particular).

Beyond that… Showtime’s codebase is very small (seriously, it’s less than 1900 lines of Python code), so it shouldn’t be hard to get started and contribute to it to become a new code maintainer.

Therefore the hardest parts are:

  • Getting design work done (and a clear scope of what is/isn’t part of the roadmap) and then sending merge requests to implement them.
  • Triaging/troubleshooting the constant incoming stream of super vague reports about XYZ video file or GPU not working properly, when Showtime has nothing to do with them the vast majority of the time.

This could be two people/roles. Someone who acts as a troubleshooting triager (and liaison with @rmader & @sdroege on GStreamer side) could achieve a lot there to alleviate the burden of whoever maintains the code. I try to do that every now and then, but I’m not focused solely on this project (I’m already involved in a bunch of other projects), and graphics & GStreamer-related troubleshooting is a fairly involved specialty, so additional help on this front would certainly be welcome. With canned bug triaging reply templates in GitLab specifically for this project (to request the exact information needed for GStreamer devs to troubleshoot with), it could be done pretty efficiently too.

Thanks for giving us such awesome app!

I’m a beginner to GTK, but I have experience with python. I use Ubuntu with Gnome as my daily driver, so I would love to help maintain this project.

Well said @jfft, thanks. I think it might be worth it to have a call together with designers if you’re up for it @khaleela, also @zahmed since you mentioned you’re interested elsewhere. If so, I can organize something. We can then talk about the features that people have been asking for and how they could be implemented directly with Design, and I can share my general knowledge about the project.

Does that sound good?

@TriAttack238 I haven’t seen you around, and without reputation and GTK experience, maintaining a Core application is probably not the right move. Still, you’re always welcome to start contributing :slight_smile:

Oh, I definitely wouldn’t be up to the task of being a core contributor. But I hope that I can be useful.

I am definitely interested, but I’ll be honest the docs were disappointing. From memory, the Python Gstreamer docs ended on lesson two. (Or was it GTK?) Not to mention the dozens of markup files in multiple formats all over the place. These may be documented, but I didn’t find good resources at the time and had to wing it.

Any help (from anyone) would be therefore be dependent on getting answers to questions in a timely manner. I asked a few questions and didn’t get answers for weeks/months, at which point I’d forgotten the questions. That’s a hard blocker to getting any work done.