diff --git a/README.md b/README.md index f9fb4bd..8a8af80 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ Mostly made for PostmarketOS phones - `AUDIO_ENABLED` = `true` - Bool, is audio record enabled (`false` to disable) - `AUDIO_PROFILE` = `audio/x-ac3` - String - audio encoding - `CAM_CAPS` = auto max caps by default - String + - `ONLY_FORMAT` = null - String, filter pixel formats to show only one (e.g `RGB`) + ## Project TODO: - [ ] Fix cam/mode switching? (I can't reproduce errors) - [ ] Simplify customization diff --git a/src/gst.vala b/src/gst.vala index c409f9e..2acd700 100644 --- a/src/gst.vala +++ b/src/gst.vala @@ -130,7 +130,13 @@ public class EyeNeko.Gstreamer : Object { construct { var srt = new Gtk.SortListModel (available_caps, new Gtk.CustomSorter ((a, b) => FriendlyCaps.sort_func ((FriendlyCaps) a, (FriendlyCaps) b))); - caps_selecton_model.set_model (srt); + var fmt = Environment.get_variable ("ONLY_FORMAT"); + if (fmt != null) { + var filter = new Gtk.FilterListModel (srt, new Gtk.CustomFilter ((obj) => ((FriendlyCaps) obj).pixelformat == fmt)); + caps_selecton_model.set_model (filter); + } else + caps_selecton_model.set_model (srt); + caps_selecton_model.notify["selected-item"].connect (() => start_stream_from (current_camera)); }